System and methods for prioritizing content packets based on a dynamically updated list of profile attributes

ABSTRACT

A method for providing content items identifying recommendations includes identifying for a first user profile at least one active fantasy sports lineup including a list of players and one or more previous fantasy sports lineups, and generating, for a user, a recommendation profile including a plurality of relevance scores. The method further includes identifying a plurality of candidate recommendations, and determining, for each of the plurality of candidate recommendations, a match score indicating a level of relevance between the candidate recommendation and the recommendation profile. The method further includes prioritizing the plurality of candidate recommendations based on the relevance scores, and providing to a device associated with the first user profile, a content item identifying a selected candidate content management of the plurality of candidate recommendations based on the relevance score between the selected candidate recommendation and the recommendation profile.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of and priority to U.S.Provisional Application 62/635,988, filed on Feb. 27, 2018. The entiredisclosure of which is incorporated herein by reference in its entirety.

BACKGROUND OF THE DISCLOSURE

Content management systems allocate and use a large amount of computingresources to transmit content to a very large number of remote computingdevices. Similarly, remote computing devices also allocate and use alarge amount of computing resources to receive and display the contentreceived from the content management devices. In the case of mobiledevices where memory, processing power and power are all finiteresources, the receipt and display of content that is not contextuallyrelevant to a user can adversely affect the device's performance andbattery life as well as the overall user experience. As such, contentmanagement systems should utilize appropriate resource managementpolicies to reduce the amount of contextually irrelevant content beingdelivered to the remote computing devices.

BRIEF SUMMARY OF THE DISCLOSURE

Systems and methods of the present solution are directed to theelectronic generation of time sensitive content items that arecontextually relevant to recipients and delivery to remote computingdevices of such recipients.

In some embodiments, a computing system can generate recommendations forcontent items to be selected or provided for presentation to a device ofa user or one or more remote devices based at least in part on amatching score of the respective content item to a profile associatedwith the device of the user or the one or more remote devices. Thecontent item or contents items can include a variety of different formsor content, data or information personalized based in part on a profileassociated with the device of the user or the one or more remotedevices. For example, a content management system can identify andextract data corresponding to at least one profile associated with thedevice of the user or the one or more remote devices. The identifieddata can include content a user (or group of users) associated with theprofile has interacted with previously, provided and/or generated insome way. Thus, the identified data can correspond to content that auser associated with the profile may have a higher interest, curiosityor concern regarding. The content management system can, using theidentified data, generate content recommendations for the userassociated with the profile. A match score can be generated between theprofile and one or more content recommendations. The match score cancorrespond to or indicate a likelihood that a user associated withprofile is likely to interact with the content recommendation. Thecontent management system can prioritize the content recommendationsusing the match scores and provide one or more of the contentrecommendations based in part on the match scores. The content items canbe positioned within a display of a device of a user or one or moreremote devices for presentation to the user of the device or remotedevices based in part on the match score.

Thus, the content management system can generate and providepersonalized content items. In this manner, the content managementsystem can avoid generating content having a low likelihood to beinteracted with or that is of no interest to a particular user of adevice. Rather than maintaining a large number of content items, whichrequires a significant use of resources, the content management systemcan help to ensure that fewer content items with higher match scores aregenerated, thus improving the efficiency of the allocation of computerresources. For example, computer resources can be managed byprioritizing which content items to provide to a user of a device andmaintain based in part on dynamically changing profile data. It shouldbe appreciated that the present disclosure can be applied to providingrecommendations related to any user profile based selections andhistorical recommendation data of the user profile.

In at least one aspect, a method for providing content items identifyingrecommendations based on fantasy sports lineups is provided. The methodcan include identifying, by a server including one or more processors,for a first user profile, at least one active fantasy sports lineupincluding a list of players included in a fantasy sports contest hostedby the fantasy sports server and one or more previous fantasy sportslineups, the fantasy sports contest associated with a plurality of realsporting events. The method can include generating, by the server, usingthe at least one active fantasy sports lineup and the one or moreprevious fantasy sports lineups, for a user, a recommendation profile.The recommendation profile can include a plurality of relevance scoresbased on the players included in the at least one active fantasy sportslineup and the one or more previous fantasy sports lineups. The methodcan include identifying, by the server, a plurality of candidaterecommendations relating to the plurality of real sporting eventsassociated with the fantasy sports contest. The method can includedetermining, by the server, for each candidate recommendation of theplurality of candidate recommendations, one or more of the relevancescores indicating a level of relevance between the recommendationprofile and the candidate recommendation. The method can includedetermining, by the server, using the corresponding relevance scores,for each of the plurality of candidate recommendations, a match scoreindicating a level of relevance between the candidate recommendation andthe recommendation profile. The method can include prioritizing, by theserver, the plurality of candidate recommendations based on therelevance scores between each candidate recommendation and therecommendation profile. The method can include providing, by the server,to a device associated with the first user profile, a content itemidentifying a selected candidate recommendation of the plurality ofcandidate recommendations based on the relevance score between theselected candidate recommendation and the recommendation profile.

In some embodiments, the method can include generating one or more of aplayer relevance score based on one or more players included in thefirst user profile, a team relevance score based on one or more playersincluded in the first user profile, and a point category relevance scorebased on one or more players included in the first user profile. Themethod can include performing a weighted aggregation using one or moreof a player importance weight, a contest importance weight, and acontest recency weight. The method can include performing a weightedaggregation of the relevance scores of the recommendation profile thatcorrespond to the candidate recommendation.

In some embodiments, the method can include identifying one or more userattributes included in the first user profile, the user attributescorresponding to the user associated with the first user profile. Themethod can include selecting one or more user attributes from the userprofile and generating the recommendation profile using playerscorresponding to the user attributes form the user profile. The playerscan be included in the at least one active fantasy sports lineup or theone or more previous fantasy sports lineups. The method can includedetermining one or more relevance scores for the players correspondingto the user attributes and ranking the players corresponding to the userattributes within the recommendation profile based on the one or morerelevance scores.

In some embodiments, the method can include determining for each of theplurality of candidate recommendations, the match score using one ormore user attributes from the first user profile. The method can includeselecting for the first content item two or more candidaterecommendations of the plurality of candidate recommendations. The twoor more candidate recommendations of the plurality of candidaterecommendations can have corresponding match scores greater than a matchscore threshold. The method can include determining a position within adisplay of the device associated with the first user profile for theeach of the selected two or more candidate recommendations. The positionfor the each of the selected two or more candidate recommendations canbe based on the corresponding match scores for the two or more candidaterecommendations. The method can include dynamically modifying the matchscore for each of the plurality of candidate recommendations responsiveto changes to one or more user attributes of the first user profile.

In at least one aspect, a system for providing content items identifyingrecommendations based on fantasy sports lineups is provided. The systemcan include a processor and memory storing machine-readable instructionsthat, when read by the processor, cause the processor to performprocesses that include identifying, for a first user profile, at leastone active fantasy sports lineup including a list of players included ina fantasy sports contest hosted by the fantasy sports server and one ormore previous fantasy sports lineups, the fantasy sports contestassociated with a plurality of real sporting events. The instructionscan cause the processor to perform processes that include generating,using the at least one active fantasy sports lineup and the one or moreprevious fantasy sports lineups, for a user, a recommendation profile.The recommendation profile can include a plurality of relevance scoresbased on the players included in the at least one active fantasy sportslineup and the one or more previous fantasy sports lineups. Theinstructions can cause the processor to perform processes that includeidentifying a plurality of candidate recommendations relating to theplurality of real sporting events associated with the fantasy sportscontest. The instructions can cause the processor to perform processesthat include determining, for each candidate recommendation of theplurality of candidate recommendations, one or more of the relevancescores indicating a level of relevance between the recommendationprofile and the candidate recommendation. The instructions can cause theprocessor to perform processes that include determining, using thecorresponding relevance scores, for each of the plurality of candidaterecommendations, a match score indicating a level of relevance betweenthe candidate recommendation and the recommendation profile. Theinstructions can cause the processor to perform processes that includeprioritizing the plurality of candidate recommendations based on therelevance scores between each candidate recommendation and therecommendation profile. The instructions can cause the processor toperform processes that include providing, to a device associated withthe first user profile, a content item identifying a selected candidaterecommendation of the plurality of candidate recommendations based onthe relevance score between the selected candidate recommendation andthe recommendation profile.

In some embodiments, the instructions can cause the processor to performprocesses that include generating one or more of a player relevancescore based on one or more players included in the first user profile, ateam relevance score based on one or more players included in the firstuser profile, and a point category relevance score based on one or moreplayers included in the first user profile. The instructions can causethe processor to perform processes that include performing a weightedaggregation using one or more of a player importance weight, a contestimportance weight, and a contest recency weight. The instructions cancause the processor to perform processes that include performing aweighted aggregation of the relevance scores of the recommendationprofile that correspond to the candidate recommendation. Theinstructions can cause the processor to perform processes that includeidentifying one or more user attributes included in the first userprofile, the user attributes corresponding to the user associated withthe first user profile.

In some embodiments, the instructions can cause the processor to performprocesses that include selecting one or more user attributes from theuser profile and generating the recommendation profile using playerscorresponding to the user attributes form the user profile. The playerscan be included in the at least one active fantasy sports lineup or theone or more previous fantasy sports lineups. The instructions can causethe processor to perform processes that include determining one or morerelevance scores for the players corresponding to the user attributesand ranking the players corresponding to the user attributes within therecommendation profile based on the one or more relevance scores.

In some embodiments, the instructions can cause the processor to performprocesses that include selecting for the first content item two or morecandidate recommendations of the plurality of candidate recommendations.The two or more candidate recommendations of the plurality of candidaterecommendations can have corresponding match scores greater than a matchscore threshold. The instructions can cause the processor to performprocesses that include determining a position within a display of thedevice associated with the first user profile for the each of theselected two or more candidate recommendations. The position for theeach of the selected two or more candidate recommendations can be basedon the corresponding match scores for the two or more candidaterecommendations. The instructions can cause the processor to performprocesses that include dynamically modifying the match score for each ofthe plurality of candidate recommendations responsive to changes to oneor more user attributes of the first user profile.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects, features, and advantages ofthe disclosure will become more apparent and better understood byreferring to the following description taken in conjunction with theaccompanying drawings, in which:

FIG. 1A is a block diagram depicting an embodiment of a networkenvironment comprising client devices in communication with serverdevices via a network;

FIG. 1B is a block diagram depicting a cloud computing environmentcomprising client device in communication with cloud service providers;

FIGS. 1C and 1D are block diagrams depicting embodiments of computingdevices useful in connection with the methods and systems describedherein;

FIG. 2A depicts one or more embodiments of a fantasy sports lineupincluding a plurality of fantasy sports players;

FIG. 2B depicts one or more embodiments of a content item provided to aclient device including a recommendation and an actionable object to acton the recommendation;

FIG. 3 is a block diagram depicting one or more embodiments of a contentmanagement system;

FIG. 4 is a flow chart depicting one or more embodiments of a processfor determining a player relevance score for use by the contentmanagement system of FIG. 3 to generate recommendations to be includedin content items in accordance with one embodiment of the presentdisclosure;

FIG. 5 is a flow chart depicting one or more embodiments of a processfor determining a team relevance score for use by the content managementsystem of FIG. 3 to generate recommendations to be included in contentitems in accordance with one embodiment of the present disclosure;

FIG. 6 is a flow chart depicting one or more embodiments of a processfor determining a point category relevance score for use by the contentmanagement system of FIG. 3 to generate recommendations to be includedin content items in accordance with one embodiment of the presentdisclosure;

FIG. 7 is a flow chart depicting one or more embodiments of a processfor determining a total match score for a candidate recommendation foruse by the content management system of FIG. 3 in accordance with oneembodiment of the present disclosure;

FIG. 8 is a flow chart depicting one or more embodiments of a processfor providing a content item to a client device in accordance with oneembodiment of the present disclosure;

FIG. 9 is a flow chart depicting one or more embodiments of a processfor determining a match score based on a real-time event in accordancewith one embodiment of the present disclosure;

FIG. 10 depicts a table showing a user fantasy sports lineup profile fora user in accordance with one embodiment of the present disclosure;

FIG. 11 depicts a table showing a bet history for a user based on aplurality of bets placed using one or more fantasy sports lineups inaccordance with one embodiment of the present disclosure; and

FIG. 12 depicts a table showing comparison of fantasy sports lineupsfrom different users and a similarity between the fantasy sports lineupsin accordance with one embodiment of the present disclosure.

DETAILED DESCRIPTION

For purposes of reading the description of the various embodimentsbelow, the following descriptions of the sections of the specificationand their respective contents may be helpful:

Section A describes a network environment and computing environmentwhich may be useful for practicing embodiments described herein.

Section B describes embodiments of systems and methods for providing, toa remote device, a content item including a recommendation and anactionable object to act on the recommendation based on a fantasy sportslineup associated with the remote device.

A. Computing and Network Environment

Prior to discussing specific embodiments of the present solution, it maybe helpful to describe aspects of the operating environment as well asassociated system components (e.g., hardware elements) in connectionwith the methods and systems described herein. Referring to FIG. 1A, anembodiment of a network environment is depicted. In brief overview, thenetwork environment includes one or more clients 102 a-102 n (alsogenerally referred to as local machine(s) 102, client(s) 102, clientnode(s) 102, client machine(s) 102, client computer(s) 102, clientdevice(s) 102, endpoint(s) 102, or endpoint node(s) 102) incommunication with one or more servers 106 a-106 n (also generallyreferred to as server(s) 106, node 106, or remote machine(s) 106) viaone or more networks 104. In some embodiments, a client 102 has thecapacity to function as both a client node seeking access to resourcesprovided by a server and as a server providing access to hostedresources for other clients 102 a-102 n.

Although FIG. 1A shows a network 104 between the clients 102 and theservers 106, the clients 102 and the servers 106 may be on the samenetwork 104. In some embodiments, there are multiple networks 104between the clients 102 and the servers 106. In one of theseembodiments, a network 104′ (not shown) may be a private network and anetwork 104 may be a public network. In another of these embodiments, anetwork 104 may be a private network and a network 104′ a publicnetwork. In still another of these embodiments, networks 104 and 104′may both be private networks.

The network 104 may be connected via wired or wireless links. Wiredlinks may include Digital Subscriber Line (DSL), coaxial cable lines, oroptical fiber lines. The wireless links may include BLUETOOTH, Wi-Fi,Worldwide Interoperability for Microwave Access (WiMAX), an infraredchannel or satellite band. The wireless links may also include anycellular network standards used to communicate among mobile devices,including standards that qualify as 1G, 2G, 3G, or 4G. The networkstandards may qualify as one or more generation of mobiletelecommunication standards by fulfilling a specification or standardssuch as the specifications maintained by International TelecommunicationUnion. The 3G standards, for example, may correspond to theInternational Mobile Telecommunications-2050 (IMT-2050) specification,and the 4G standards may correspond to the International MobileTelecommunications Advanced (IMT-Advanced) specification. Examples ofcellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTEAdvanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standardsmay use various channel access methods e.g. FDMA, TDMA, CDMA, or SDMA.In some embodiments, different types of data may be transmitted viadifferent links and standards. In other embodiments, the same types ofdata may be transmitted via different links and standards.

The network 104 may be any type and/or form of network. The geographicalscope of the network 104 may vary widely and the network 104 can be abody area network (BAN), a personal area network (PAN), a local-areanetwork (LAN), e.g. Intranet, a metropolitan area network (MAN), a widearea network (WAN), or the Internet. The topology of the network 104 maybe of any form and may include, e.g., any of the following:point-to-point, bus, star, ring, mesh, or tree. The network 104 may bean overlay network which is virtual and sits on top of one or morelayers of other networks 104′. The network 104 may be of any suchnetwork topology as known to those ordinarily skilled in the art capableof supporting the operations described herein. The network 104 mayutilize different techniques and layers or stacks of protocols,including, e.g., the Ethernet protocol, the internet protocol suite(TCP/IP), the ATM (Asynchronous Transfer Mode) technique, the SONET(Synchronous Optical Networking) protocol, or the SDH (SynchronousDigital Hierarchy) protocol. The TCP/IP internet protocol suite mayinclude application layer, transport layer, internet layer (including,e.g., IPv6), or the link layer. The network 104 may be a type of abroadcast network, a telecommunications network, a data communicationnetwork, or a computer network.

In some embodiments, the system may include multiple, logically-groupedservers 106. In one of these embodiments, the logical group of serversmay be referred to as a server farm 38 or a machine farm 38. In anotherof these embodiments, the servers 106 may be geographically dispersed.In other embodiments, a machine farm 38 may be administered as a singleentity. In still other embodiments, the machine farm 38 includes aplurality of machine farms 38. The servers 106 within each machine farm38 can be heterogeneous—one or more of the servers 106 or machines 106can operate according to one type of operating system platform (e.g.,WINDOWS NT, manufactured by Microsoft Corp. of Redmond, Wash.), whileone or more of the other servers 106 can operate on according to anothertype of operating system platform (e.g., Unix, Linux, or Mac OS X).

In one embodiment, servers 106 in the machine farm 38 may be stored inhigh-density rack systems, along with associated storage systems, andlocated in an enterprise data center. In this embodiment, consolidatingthe servers 106 in this way may improve system manageability, datasecurity, the physical security of the system, and system performance bylocating servers 106 and high performance storage systems on localizedhigh performance networks. Centralizing the servers 106 and storagesystems and coupling them with advanced system management tools allowsmore efficient use of server resources.

The servers 106 of each machine farm 38 do not need to be physicallyproximate to another server 106 in the same machine farm 38. Thus, thegroup of servers 106 logically grouped as a machine farm 38 may beinterconnected using a wide-area network (WAN) connection or ametropolitan-area network (MAN) connection. For example, a machine farm38 may include servers 106 physically located in different continents ordifferent regions of a continent, country, state, city, campus, or room.Data transmission speeds between servers 106 in the machine farm 38 canbe increased if the servers 106 are connected using a local-area network(LAN) connection or some form of direct connection. Additionally, aheterogeneous machine farm 38 may include one or more servers 106operating according to a type of operating system, while one or moreother servers 106 execute one or more types of hypervisors rather thanoperating systems. In these embodiments, hypervisors may be used toemulate virtual hardware, partition physical hardware, virtualizephysical hardware, and execute virtual machines that provide access tocomputing environments, allowing multiple operating systems to runconcurrently on a host computer. Native hypervisors may run directly onthe host computer. Hypervisors may include VMware ESX/ESXi, manufacturedby VMWare, Inc., of Palo Alto, Calif.; the Xen hypervisor, an opensource product whose development is overseen by Citrix Systems, Inc.;the HYPER-V hypervisors provided by Microsoft or others. Hostedhypervisors may run within an operating system on a second softwarelevel. Examples of hosted hypervisors may include VMware Workstation andVIRTUALBOX.

Management of the machine farm 38 may be de-centralized. For example,one or more servers 106 may comprise components, subsystems and modulesto support one or more management services for the machine farm 38. Inone of these embodiments, one or more servers 106 provide functionalityfor management of dynamic data, including techniques for handlingfailover, data replication, and increasing the robustness of the machinefarm 38. Each server 106 may communicate with a persistent store and, insome embodiments, with a dynamic store.

Server 106 may be a file server, application server, web server, proxyserver, appliance, network appliance, gateway, gateway server,virtualization server, deployment server, SSL VPN server, or firewall.In one embodiment, the server 106 may be referred to as a remote machineor a node. In another embodiment, a plurality of nodes 290 may be in thepath between any two communicating servers.

Referring to FIG. 1B, a cloud computing environment is depicted. A cloudcomputing environment may provide client 102 with one or more resourcesprovided by a network environment. The cloud computing environment mayinclude one or more clients 102 a-102 n, in communication with the cloud108 over one or more networks 104. Clients 102 may include, e.g., thickclients, thin clients, and zero clients. A thick client may provide atleast some functionality even when disconnected from the cloud 108 orservers 106. A thin client or a zero client may depend on the connectionto the cloud 108 or server 106 to provide functionality. A zero clientmay depend on the cloud 108 or other networks 104 or servers 106 toretrieve operating system data for the client device. The cloud 108 mayinclude back end platforms, e.g., servers 106, storage, server farms ordata centers.

The cloud 108 may be public, private, or hybrid. Public clouds mayinclude public servers 106 that are maintained by third parties to theclients 102 or the owners of the clients. The servers 106 may be locatedoff-site in remote geographical locations as disclosed above orotherwise. Public clouds may be connected to the servers 106 over apublic network. Private clouds may include private servers 106 that arephysically maintained by clients 102 or owners of clients. Privateclouds may be connected to the servers 106 over a private network 104.Hybrid clouds 108 may include both the private and public networks 104and servers 106.

The cloud 108 may also include a cloud based delivery, e.g. Software asa Service (SaaS) 110, Platform as a Service (PaaS) 112, andInfrastructure as a Service (IaaS) 114. IaaS may refer to a user rentingthe use of infrastructure resources that are needed during a specifiedtime period. IaaS providers may offer storage, networking, servers orvirtualization resources from large pools, allowing the users to quicklyscale up by accessing more resources as needed. Examples of IaaS caninclude infrastructure and services (e.g., EG-32) provided by OVHHOSTING of Montreal, Quebec, Canada, AMAZON WEB SERVICES provided byAmazon.com, Inc., of Seattle, Wash., RACKSPACE CLOUD provided byRackspace US, Inc., of San Antonio, Tex., Google Compute Engine providedby Google Inc. of Mountain View, Calif., or RIGHTSCALE provided byRightScale, Inc., of Santa Barbara, Calif. PaaS providers may offerfunctionality provided by IaaS, including, e.g., storage, networking,servers or virtualization, as well as additional resources such as,e.g., the operating system, middleware, or runtime resources. Examplesof PaaS include WINDOWS AZURE provided by Microsoft Corporation ofRedmond, Wash., Google App Engine provided by Google Inc., and HEROKUprovided by Heroku, Inc. of San Francisco, Calif. SaaS providers mayoffer the resources that PaaS provides, including storage, networking,servers, virtualization, operating system, middleware, or runtimeresources. In some embodiments, SaaS providers may offer additionalresources including, e.g., data and application resources. Examples ofSaaS include GOOGLE APPS provided by Google Inc., SALESFORCE provided bySalesforce.com Inc. of San Francisco, Calif., or OFFICE 365 provided byMicrosoft Corporation. Examples of SaaS may also include data storageproviders, e.g. DROPBOX provided by Dropbox, Inc. of San Francisco,Calif., Microsoft SKYDRIVE provided by Microsoft Corporation, GoogleDrive provided by Google Inc., or Apple ICLOUD provided by Apple Inc. ofCupertino, Calif.

Clients 102 may access IaaS resources with one or more IaaS standards,including, e.g., Amazon Elastic Compute Cloud (EC2), Open CloudComputing Interface (OCCI), Cloud Infrastructure Management Interface(CIMI), or OpenStack standards. Some IaaS standards may allow clientsaccess to resources over HTTP, and may use Representational StateTransfer (REST) protocol or Simple Object Access Protocol (SOAP).Clients 102 may access PaaS resources with different PaaS interfaces.Some PaaS interfaces use HTTP packages, standard Java APIs, JavaMailAPI, Java Data Objects (JDO), Java Persistence API (JPA), Python APIs,web integration APIs for different programming languages including,e.g., Rack for Ruby, WSGI for Python, or PSGI for Perl, or other APIsthat may be built on REST, HTTP, XML, or other protocols. Clients 102may access SaaS resources through the use of web-based user interfaces,provided by a web browser (e.g. GOOGLE CHROME, Microsoft INTERNETEXPLORER, or Mozilla Firefox provided by Mozilla Foundation of MountainView, Calif.). Clients 102 may also access SaaS resources throughsmartphone or tablet applications, including, e.g., Salesforce SalesCloud, or Google Drive app. Clients 102 may also access SaaS resourcesthrough the client operating system, including, e.g., Windows filesystem for DROPBOX.

In some embodiments, access to IaaS, PaaS, or SaaS resources may beauthenticated. For example, a server or authentication server mayauthenticate a user via security certificates, HTTPS, or API keys. APIkeys may include various encryption standards such as, e.g., AdvancedEncryption Standard (AES). Data resources may be sent over TransportLayer Security (TLS) or Secure Sockets Layer (SSL).

The client 102 and server 106 may be deployed as and/or executed on anytype and form of computing device, e.g. a computer, network device orappliance capable of communicating on any type and form of network andperforming the operations described herein. FIGS. 1C and 1D depict blockdiagrams of a computing device 100 useful for practicing an embodimentof the client 102 or a server 106. As shown in FIGS. 1C and 1D, eachcomputing device 100 includes a central processing unit 121, and a mainmemory unit 122. As shown in FIG. 1C, a computing device 100 may includea storage device 128, an installation device 116, a network interface118, an I/O controller 123, display devices 124 a-124 n, a keyboard 126and a pointing device 127, e.g. a mouse. The storage device 128 mayinclude, without limitation, an operating system, software, and asoftware of a content management system 120. As shown in FIG. 1D, eachcomputing device 100 may also include additional optional elements, e.g.a memory port 103, a bridge 170, one or more input/output devices 130a-130 n (generally referred to using reference numeral 130), and a cachememory 140 in communication with the central processing unit 121.

The central processing unit 121 is any logic circuitry that responds toand processes instructions fetched from the main memory unit 122. Inmany embodiments, the central processing unit 121 is provided by amicroprocessor unit, e.g.: those manufactured by Intel Corporation ofMountain View, Calif.; those manufactured by Motorola Corporation ofSchaumburg, Ill.; the ARM processor and TEGRA system on a chip (SoC)manufactured by Nvidia of Santa Clara, Calif.; the POWER7 processor,those manufactured by International Business Machines of White Plains,N.Y.; or those manufactured by Advanced Micro Devices of Sunnyvale,Calif. The computing device 100 may be based on any of these processors,or any other processor capable of operating as described herein. Thecentral processing unit 121 may utilize instruction level parallelism,thread level parallelism, different levels of cache, and multi-coreprocessors. A multi-core processor may include two or more processingunits on a single computing component. Examples of multi-core processorsinclude the AMID PHENOM IIX2, INTEL CORE i5 and INTEL CORE i7.

Main memory unit 122 may include one or more memory chips capable ofstoring data and allowing any storage location to be directly accessedby the microprocessor 121. Main memory unit 122 may be volatile andfaster than storage 128 memory. Main memory units 122 may be Dynamicrandom access memory (DRAM) or any variants, including static randomaccess memory (SRAM), Burst SRAM or SynchBurst SRAM (BSRAM), Fast PageMode DRAM (FPM DRAM), Enhanced DRAM (EDRAM), Extended Data Output RAM(EDO RAM), Extended Data Output DRAM (EDO DRAM), Burst Extended DataOutput DRAM (BEDO DRAM), Single Data Rate Synchronous DRAM (SDR SDRAM),Double Data Rate SDRAM (DDR SDRAM), Direct Rambus DRAM (DRDRAM), orExtreme Data Rate DRAM (XDR DRAM). In some embodiments, the main memory122 or the storage 128 may be non-volatile; e.g., non-volatile readaccess memory (NVRAM), flash memory non-volatile static RANI (nvSRAM),Ferroelectric RANI (FeRAM), Magnetoresistive RAM (MRAM), Phase-changememory (PRAM), conductive-bridging RAM (CBRANI),Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), Resistive RAM (RRAM),Racetrack, Nano-RAM (NRAM), or Millipede memory. The main memory 122 maybe based on any of the above described memory chips, or any otheravailable memory chips capable of operating as described herein. In theembodiment shown in FIG. 1C, the processor 121 communicates with mainmemory 122 via a system bus 150 (described in more detail below). FIG.1D depicts an embodiment of a computing device 100 in which theprocessor communicates directly with main memory 122 via a memory port103. For example, in FIG. 1D the main memory 122 may be DRDRAM.

FIG. 1D depicts an embodiment in which the main processor 121communicates directly with cache memory 140 via a secondary bus,sometimes referred to as a backside bus. In other embodiments, the mainprocessor 121 communicates with cache memory 140 using the system bus150. Cache memory 140 typically has a faster response time than mainmemory 122 and is typically provided by SRAM, BSRAM, or EDRAM. In theembodiment shown in FIG. 1D, the processor 121 communicates with variousI/O devices 130 via a local system bus 150. Various buses may be used toconnect the central processing unit 121 to any of the I/O devices 130,including a PCI bus, a PCI-X bus, or a PCI-Express bus, or a NuBus. Forembodiments in which the I/O device is a video display 124, theprocessor 121 may use an Advanced Graphics Port (AGP) to communicatewith the display 124 or the I/O controller 123 for the display 124. FIG.1D depicts an embodiment of a computer 100 in which the main processor121 communicates directly with I/O device 130 b or other processors 121′via HYPERTRANSPORT, RAPIDIO, or INFINIBAND communications technology.FIG. 1D also depicts an embodiment in which local busses and directcommunication are mixed: the processor 121 communicates with I/O device130 a using a local interconnect bus while communicating with I/O device130 b directly.

A wide variety of I/O devices 130 a-130 n may be present in thecomputing device 100. Input devices may include keyboards, mice,trackpads, trackballs, touchpads, touch mice, multi-touch touchpads andtouch mice, microphones, multi-array microphones, drawing tablets,cameras, single-lens reflex camera (SLR), digital SLR (DSLR), CMOSsensors, accelerometers, infrared optical sensors, pressure sensors,magnetometer sensors, angular rate sensors, depth sensors, proximitysensors, ambient light sensors, gyroscopic sensors, or other sensors.Output devices may include video displays, graphical displays, speakers,headphones, inkjet printers, laser printers, and 3D printers.

Devices 130 a-130 n may include a combination of multiple input oroutput devices, including, e.g., Microsoft KINECT, Nintendo Wiimote forthe WIT, Nintendo WII U GAMEPAD, or Apple IPHONE. Some devices 130 a-130n allow gesture recognition inputs through combining some of the inputsand outputs. Some devices 130 a-130 n provides for facial recognitionwhich may be utilized as an input for different purposes includingauthentication and other commands. Some devices 130 a-130 n provides forvoice recognition and inputs, including, e.g., Microsoft KINECT, SIRIfor IPHONE by Apple, Google Now or Google Voice Search.

Additional devices 130 a-130 n have both input and output capabilities,including, e.g., haptic feedback devices, touchscreen displays, ormulti-touch displays. Touchscreen, multi-touch displays, touchpads,touch mice, or other touch sensing devices may use differenttechnologies to sense touch, including, e.g., capacitive, surfacecapacitive, projected capacitive touch (PCT), in-cell capacitive,resistive, infrared, waveguide, dispersive signal touch (DST), in-celloptical, surface acoustic wave (SAW), bending wave touch (BWT), orforce-based sensing technologies. Some multi-touch devices may allow twoor more contact points with the surface, allowing advanced functionalityincluding, e.g., pinch, spread, rotate, scroll, or other gestures. Sometouchscreen devices, including, e.g., Microsoft PIXELSENSE orMulti-Touch Collaboration Wall, may have larger surfaces, such as on atable-top or on a wall, and may also interact with other electronicdevices. Some I/O devices 130 a-130 n, display devices 124 a-124 n orgroup of devices may be augmented reality devices. The I/O devices maybe controlled by an I/O controller 123 as shown in FIG. 1C. The I/Ocontroller may control one or more I/O devices, such as, e.g., akeyboard 126 and a pointing device 127, e.g., a mouse or optical pen.Furthermore, an I/O device may also provide storage and/or aninstallation medium 116 for the computing device 100. In still otherembodiments, the computing device 100 may provide USB connections (notshown) to receive handheld USB storage devices. In further embodiments,an I/O device 130 may be a bridge between the system bus 150 and anexternal communication bus, e.g. a USB bus, a SCSI bus, a FireWire bus,an Ethernet bus, a Gigabit Ethernet bus, a Fibre Channel bus, or aThunderbolt bus.

In some embodiments, display devices 124 a-124 n may be connected to I/Ocontroller 123. Display devices may include, e.g., liquid crystaldisplays (LCD), thin film transistor LCD (TFT-LCD), blue phase LCD,electronic papers (e-ink) displays, flexile displays, light emittingdiode displays (LED), digital light processing (DLP) displays, liquidcrystal on silicon (LCOS) displays, organic light-emitting diode (OLED)displays, active-matrix organic light-emitting diode (AMOLED) displays,liquid crystal laser displays, time-multiplexed optical shutter (TMOS)displays, or 3D displays. Examples of 3D displays may use, e.g.stereoscopy, polarization filters, active shutters, or autostereoscopy.Display devices 124 a-124 n may also be a head-mounted display (HMD). Insome embodiments, display devices 124 a-124 n or the corresponding I/Ocontrollers 123 may be controlled through or have hardware support forOPENGL or DIRECTX API or other graphics libraries.

In some embodiments, the computing device 100 may include or connect tomultiple display devices 124 a-124 n, which each may be of the same ordifferent type and/or form. As such, any of the I/O devices 130 a-130 nand/or the I/O controller 123 may include any type and/or form ofsuitable hardware, software, or combination of hardware and software tosupport, enable or provide for the connection and use of multipledisplay devices 124 a-124 n by the computing device 100. For example,the computing device 100 may include any type and/or form of videoadapter, video card, driver, and/or library to interface, communicate,connect or otherwise use the display devices 124 a-124 n. In oneembodiment, a video adapter may include multiple connectors to interfaceto multiple display devices 124 a-124 n. In other embodiments, thecomputing device 100 may include multiple video adapters, with eachvideo adapter connected to one or more of the display devices 124 a-124n. In some embodiments, any portion of the operating system of thecomputing device 100 may be configured for using multiple displays 124a-124 n. In other embodiments, one or more of the display devices 124a-124 n may be provided by one or more other computing devices 100 a or100 b connected to the computing device 100, via the network 104. Insome embodiments software may be designed and constructed to use anothercomputer's display device as a second display device 124 a for thecomputing device 100. For example, in one embodiment, an Apple iPad mayconnect to a computing device 100 and use the display of the device 100as an additional display screen that may be used as an extended desktop.One ordinarily skilled in the art will recognize and appreciate thevarious ways and embodiments that a computing device 100 may beconfigured to have multiple display devices 124 a-124 n.

Referring again to FIG. 1C, the computing device 100 may comprise astorage device 128 (e.g. one or more hard disk drives or redundantarrays of independent disks) for storing an operating system or otherrelated software, and for storing application software programs such asany program related to the software for the content management system120. Examples of storage device 128 include, e.g., hard disk drive(HDD); optical drive including CD drive, DVD drive, or BLU-RAY drive;solid-state drive (SSD); USB flash drive; or any other device suitablefor storing data. Some storage devices may include multiple volatile andnon-volatile memories, including, e.g., solid state hybrid drives thatcombine hard disks with solid state cache. Some storage device 128 maybe non-volatile, mutable, or read-only. Some storage device 128 may beinternal and connect to the computing device 100 via a bus 150. Somestorage devices 128 may be external and connect to the computing device100 via an I/O device 130 that provides an external bus. Some storagedevice 128 may connect to the computing device 100 via the networkinterface 118 over a network 104, including, e.g., the Remote Disk forMACBOOK AIR by Apple. Some client devices 100 may not require anon-volatile storage device 128 and may be thin clients or zero clients102. Some storage device 128 may also be used as an installation device116, and may be suitable for installing software and programs.Additionally, the operating system and the software can be run from abootable medium, for example, a bootable CD, e.g. KNOPPIX, a bootable CDfor GNU/Linux that is available as a GNU/Linux distribution fromknoppix.net.

Client device 100 may also install software or application from anapplication distribution platform. Examples of application distributionplatforms include the App Store for iOS provided by Apple, Inc., the MacApp Store provided by Apple, Inc., GOOGLE PLAY for Android OS providedby Google Inc., Chrome Webstore for CHROME OS provided by Google Inc.,and Amazon Appstore for Android OS and KINDLE FIRE provided byAmazon.com, Inc. An application distribution platform may facilitateinstallation of software on a client device 102. An applicationdistribution platform may include a repository of applications on aserver 106 or a cloud 108, which the clients 102 a-102 n may access overa network 104. An application distribution platform may includeapplication developed and provided by various developers. A user of aclient device 102 may select, purchase and/or download an applicationvia the application distribution platform.

Furthermore, the computing device 100 may include a network interface118 to interface to the network 104 through a variety of connectionsincluding, but not limited to, standard telephone lines LAN or WAN links(e.g., 802.11, T1, T3, Gigabit Ethernet, Infiniband), broadbandconnections (e.g., ISDN, Frame Relay, ATM, Gigabit Ethernet,Ethernet-over-SONET, ADSL, VDSL, BPON, GPON, fiber optical includingFiOS), wireless connections, or some combination of any or all of theabove. Connections can be established using a variety of communicationprotocols (e.g., TCP/IP, Ethernet, ARCNET, SONET, SDH, Fiber DistributedData Interface (FDDI), IEEE 802.11a/b/g/n/ac CDMA, GSM, WiMax and directasynchronous connections). In one embodiment, the computing device 100communicates with other computing devices 100′ via any type and/or formof gateway or tunneling protocol e.g. Secure Socket Layer (SSL) orTransport Layer Security (TLS), or the Citrix Gateway Protocolmanufactured by Citrix Systems, Inc. of Ft. Lauderdale, Fla. The networkinterface 118 may comprise a built-in network adapter, network interfacecard, PCMCIA network card, EXPRESSCARD network card, card bus networkadapter, wireless network adapter, USB network adapter, modem or anyother device suitable for interfacing the computing device 100 to anytype of network capable of communication and performing the operationsdescribed herein.

A computing device 100 of the sort depicted in FIGS. 1B and 1C mayoperate under the control of an operating system, which controlsscheduling of tasks and access to system resources. The computing device100 can be running any operating system such as any of the versions ofthe MICROSOFT WINDOWS operating systems, the different releases of theUnix and Linux operating systems, any version of the MAC OS forMacintosh computers, any embedded operating system, any real-timeoperating system, any open source operating system, any proprietaryoperating system, any operating systems for mobile computing devices, orany other operating system capable of running on the computing deviceand performing the operations described herein. Typical operatingsystems include, but are not limited to: WINDOWS 2050, WINDOWS Server2022, WINDOWS CE, WINDOWS Phone, WINDOWS XP, WINDOWS VISTA, and WINDOWS7, WINDOWS RT, WINDOWS 8, and WINDOWS 10, all of which are manufacturedby Microsoft Corporation of Redmond, Wash.; MAC OS and iOS, manufacturedby Apple, Inc. of Cupertino, Calif.; and Linux, a freely-availableoperating system, e.g. Linux Mint distribution (“distro”) or Ubuntu,distributed by Canonical Ltd. of London, United Kingdom; or Unix orother Unix-like derivative operating systems; and Android, designed byGoogle, of Mountain View, Calif., among others. Some operating systems,including, e.g., the CHROME OS by Google, may be used on zero clients orthin clients, including, e.g., CHROMEBOOKS.

The computer system 100 can be any workstation, telephone, desktopcomputer, laptop or notebook computer, netbook, ULTRABOOK, tablet,server, handheld computer, mobile telephone, smartphone or otherportable telecommunications device, media playing device, a gamingsystem, mobile computing device, or any other type and/or form ofcomputing, telecommunications or media device that is capable ofcommunication. The computer system 100 has sufficient processor powerand memory capacity to perform the operations described herein. In someembodiments, the computing device 100 may have different processors,operating systems, and input devices consistent with the device. TheSamsung GALAXY smartphones, e.g., operate under the control of Androidoperating system developed by Google, Inc. GALAXY smartphones receiveinput via a touch interface.

In some embodiments, the computing device 100 is a tablet e.g. the IPADline of devices by Apple; GALAXY TAB family of devices by Samsung; orKINDLE FIRE, by Amazon.com, Inc. of Seattle, Wash. In other embodiments,the computing device 100 is an eBook reader, e.g. the KINDLE family ofdevices by Amazon.com, or NOOK family of devices by Barnes & Noble, Inc.of New York City, N.Y.

In some embodiments, the communications device 102 includes acombination of devices, e.g. a smartphone combined with a digital audioplayer or portable media player. For example, one of these embodimentsis a smartphone, e.g. the IPHONE family of smartphones manufactured byApple, Inc.; a Samsung GALAXY family of smartphones manufactured bySamsung, Inc.; or a Motorola DROID family of smartphones. In yet anotherembodiment, the communications device 102 is a laptop or desktopcomputer equipped with a web browser and a microphone and speakersystem, e.g. a telephony headset. In these embodiments, thecommunications devices 102 are web-enabled and can receive and initiatephone calls. In some embodiments, a laptop or desktop computer is alsoequipped with a webcam or other video capture device that enables videochat and video call.

In some embodiments, the status of one or more machines 102, 106 in thenetwork 104 are monitored, generally as part of network management. Inone of these embodiments, the status of a machine may include anidentification of load information (e.g., the number of processes on themachine, CPU and memory utilization), of port information (e.g., thenumber of available communication ports and the port addresses), or ofsession status (e.g., the duration and type of processes, and whether aprocess is active or idle). In another of these embodiments, thisinformation may be identified by a plurality of metrics, and theplurality of metrics can be applied at least in part towards decisionsin load distribution, network traffic management, and network failurerecovery as well as any aspects of operations of the present solutiondescribed herein. Aspects of the operating environments and componentsdescribed above will become apparent in the context of the systems andmethods disclosed herein.

B. Systems and Methods for Generating Content Items IncludingRecommendations and Actionable Objects to Act on the Recommendations

As discussed above, systems and methods of the present solution aredirected to providing content items identifying recommendations based onfantasy sports lineups. A content management system can provide relevantrecommendations to user devices, and can avoid providing irrelevant orunwanted recommendations.

According to one aspect, a method for providing content itemsidentifying recommendations includes identifying, for a user profile, atleast one active fantasy sports lineup including a list of players andone or more previous fantasy sports lineups, and generating, for a user,a recommendation profile including a plurality of relevance scores. Themethod further includes identifying a plurality of candidaterecommendations, and determining, for each of the plurality of candidaterecommendations, a match score indicating a level of relevance betweenthe candidate recommendation and the recommendation profile. The methodfurther includes prioritizing the plurality of candidate recommendationsbased on the relevance scores, and providing to a device associated withthe user profile, a content item identifying a selected candidaterecommendation of the plurality of candidate recommendations based onthe relevance score between the selected candidate recommendation andthe recommendation profile.

Although the scope of the present disclosure is applicable to anyscenario where content items are selected for presentation to remotedevices based on a matching of the content items to a profile associatedwith a respective remote device, at least one implementation of thepresent disclosure relates to matching content recommendations to a userprofile that is based on one or more user attributes of the user profileand historical recommendation data stored associated with the userprofile. The user attributes, in some embodiments, include one or morefantasy sports lineups of the user profile and/or fantasy sportscontents entered using the user profile. The historical recommendationdata can include any data related to content item recommendationsassociated with the user profile or previously generated for a userassociated with the user profile. In some embodiments, the userattributes can include information related to one or more wagers or betsthe user has placed, information related to teams or sports the user hasshown an interest in, among others. The system described herein canderive an interest of a user via one or more signals or data points thatthe system can collect from a device of the user, including but notlimited to, data the system collects based on the user's usage of anapplication communicatively coupled to one or more servers of thesystem, among others. The data points can include content, text strings,or other information the system can extract from information resources,web pages, or articles the user has accessed, an amount of time the userhas spent on the information resources, web pages, or articles, imagesthe user has viewed, search queries the user has input, among others. Itshould be appreciated that the present disclosure can be applied toproviding recommendations related to any user profile based selections,user attributes and historical recommendation data of the user profile.

In the context of online gaming, a contest can be an event for which oneor more users can register (sometimes referred to herein asregistrants). In some embodiments, the contest is a fantasy sportscontest. The fantasy sports contest can correspond to one or more “real”contests (e.g. one or more real sporting events). For example, thecontest can correspond to one or more real sports games played in apredetermined time period (e.g. on a given Sunday, or throughout a givenweek), or to a list of predetermined real sports games. The fantasysports contest corresponding to one or more “real contests,” or “realsports games,” can refer to the fantasy sports contest corresponding toany game or contest other than the fantasy sports contest itself. Thiscan include any sporting event (e.g. a football event, a soccer event,an e-sports event (e.g. a video game or computer game contest), oranother fantasy sports contest). In some fantasy sports contests, eachuser selects, or is provided, one or more players or teams. A set ofplayers that so correspond to a user can be referred to as the user's“lineup.” A contest management system can determine “fantasy points” toaward to users based on events that occur in corresponding games. Forexample, the contest management system can award points to usersaccording to one or more rules for determining points, and can awardpoints based on events that involve a user's players (e.g. can awardpoints based on players of the user's lineup getting points in a realsports event, or based on statistics or achievements of the players ofthe user's lineup).

Referring now to FIG. 2A, FIG. 2A shows a fantasy sports lineup 202. Thefantasy sports lineup 202 includes six players: P1 through P6. The sixplayers can respectively correspond to one or more real sports teams.For example, as shown in FIG. 2A, players P1, P3, P5, and P6 can allbelong to a real sports team “team 1”, P2 can belong to a real sportsteam “team 2”, and P4 can belong to a real sports team “team 4.” Thereis a higher incidence of players corresponding to team 1 than there isof players corresponding to any other team. This can indicate that amanager of the fantasy sports lineup 202 may be interested in team 1, orthat team 1 may be more relevant to the manager.

Referring now to FIG. 2B, FIG. 2B shows a content item 204 that can beprovided to a client device associated with a manager of the fantasysports lineup 202. The content item 204 can include a recommendation 206and an actionable object 208, which when interacted upon, causes theclient device to take an action on the recommendation 206. In someembodiments, the actionable object 208 can be displayed within therecommendation 206. In some embodiments, the recommendation can beselected by the content management system based on one or more fantasysports lineups 202 of the manager. In some embodiments, therecommendation 206 can correspond to team 1—that is, that corresponds toa team that may be relevant to the manager, based on analysis of thefantasy sports lineup 202. As described above, the methods and systemsdescribed herein can provide for analysis of fantasy sports lineups andother fantasy sports information to provide content items to clientdevices that include recommendations that are relevant to the users ofthe client devices. For instance, the recommendation may be one thatrelates to purchasing gear related to team 1 or for purchasing ticketsto upcoming games involving team 1. In some embodiments, therecommendation may be generated based on an ongoing or upcoming sportingevent involving team 1. For instance, the recommendation can referencean outcome of the ongoing or upcoming sporting event and include alikelihood of a given outcome. In some embodiments, the recommendationcan be generated in real-time based on a current score or gamecondition. In some embodiments, the recommendation can identify apotential outcome within the game. In some embodiments, therecommendation can identify a potential outcome within the game and maybe specific to a particular player included in the user's fantasylineup.

The content item 204 can be displayed on a client device (e.g. a clientdevice associated with the user profile 304), and the content itemprovider 314 can transmit data for displaying, rendering, or otherwiseproviding the content item 204 to the client device. The contentmanagement system 302 may generate the content item 204 or may requestthat another system generate the content item 204. The recommendation206 can include a media item (e.g. any combination of text, image,video, or user-interactive content), and the media item can reference acandidate content management selected by the content management system302 based on a match score or a ranking of candidate recommendations.For example, the recommendation 206 can include text that recommends theselected content management to the user. The recommendation 206 can alsoinclude or be indicative of a prediction on a future outcomecorresponding to the content management system. The actionable object208 can include an object that the user can interact with to facilitateregistration in the recommendation 206. For example, the actionableobject 208 can include a user-selectable hyperlink that initiates aprocess to download a webpage, or initiate a process of an application,for registering for the selected recommendation.

Referring now to FIG. 3, FIG. 3 is a block diagram showing an embodimentof a content management system 302, such as the content managementsystem 120 depicted in FIG. 1C. The content management system 302 caninclude or be executed on one or more servers, such as the servers 106shown in FIG. 1A. The content management system 302 can include one ormore applications, services, routines, servers, daemons, or otherexecutable logics for providing a content item including arecommendation and an actionable object through which the user can acton the recommendation. For instance, the recommendation can be topurchase gear for a team and the actionable object can be a buy hereicon. The user can click or interact with the buy here icon to proceedwith purchasing the gear included in the recommendation.

The content management system 302 can include one or more applications,services, routines, servers, daemons, or other executable logics,including one or more of a recommendation generator 306, a profileaugmenter 310, a content item recommendation matcher 312, and a contentitem provider 314. The content management system 302 can also include,access, maintain or manage one or more data structures, including butnot limited to a user profile 304 and a candidate content itemrecommendation database 308.

The user profile 304 can include one or more data structures that storeone or more active contests (ACs) 316 for which the user has submittedone or more lineups 320. The active contests can be contests for whichregistration is open, or contests for which one or more, or all,corresponding real sports events have not begun or have not finished.The ACs 316 can include any number of ACs 316, and can include an AC 316a. The AC 316 a can include a lineup 320 including one or more players(e.g. players selected, drafted, or provided to the user of the userprofile). In the example depicted in FIG. 3, the AC 316 a includes anumber N total players, including a first player P1 through an Nthplayer PN.

The user profile 304 can include one or more data structures that storeone or more historical contests (HCs) 318 for which the user hadpreviously submitted one or more lineups 322. The historical contestscan be contests for which registration is closed, or contests for whichone or more, or all, corresponding real sports events have finished. TheHCs 318 can include any number of ACs 316, and can include an HC 318 a.The HC 318 a can include a lineup 322 including one or more players(e.g. players selected, drafted, or provided to the user of the userprofile). In the example depicted in FIG. 3, the HC 318 a includes anumber N total players, including a first player P1′ through an Nthplayer PN′.

The user profile 304 can include one or more data structures that storehistorical recommendation data 319. The historical recommendation data319 can be any data related to content item recommendations associatedwith the user profile 304 or historical activity corresponding tointeractions associated with the user profile 304 and previous contentitems or content item recommendations. For example, the historicalrecommendation data 319 can include historical content itemrecommendations in which the user acted upon. The historicalrecommendation data 319 can include any of the content itemrecommendation features discussed below in reference to content itemrecommendation 309 a. In some embodiments, the historical recommendationdata 319 can include any of the content item recommendation featuresdiscussed below in reference to content item recommendation 309 a.

In some embodiments, the historical recommendation data 319 can includeaugmented user profile data corresponding to historical recommendationsassociated with other user accounts or other user profiles. For example,as described below, the user profile augmenter 310 can determine userprofiles similar to the user profile 304, and can store historicalrecommendation data associated with the similar user profiles as part ofthe user profile 304. This augmented user profile can be used (e.g. withcorresponding weights, such as weights based on a degree of similaritybetween the user profile and the corresponding similar user profile) bythe content item recommendation matcher 312 to determine a match betweena candidate content item recommendation and the user profile 304, asdescribed in more detail herein. For example, the augmented user profilecan include more data than the user profile 304, and may thus provide alarger sample size and correspondingly more reliable statistics for useby the content management system 302.

In some embodiments, the recommendation can be based on a future outcomeof a real-life event. For instance, the real-life event can be asporting event for which one or more users have selected fantasy sportslineups. The recommendation can be based on a prediction relating to aperformance of a particular player or particular team corresponding tothe sporting event. The recommendation may identify or include a featureidentifying a quantity and a value representative of a likelihood thatcertain outcome will occur in the future. The value may be determined ona current status of the sporting event including but not limited to acurrent performance of one or more players participating in the sportingevent.

The recommendation generator 306 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for generating a recommendationprofile, and can include a player relevance determiner 324, a teamrelevance determiner 326, and a point category relevance determiner 328.The recommendation generator 306 can be configured to generate arecommendation profile that includes one or more values for parameterscorresponding to features of recommendations that may be relevant to theuser profile 304. For example, generally speaking, the recommendationgenerator 306 may analyze the user profile 304 to determine a relevancescore for one or more players, one or more teams, or one or more pointcategories (e.g. “offense” fantasy points, “defense” fantasy points,“ground-game” fantasy points, “passing” fantasy points, or other pointcategories, described in more detail herein) with respect to the userprofile 304. The recommendation profile can include a set of relevancescores derived from the user profile 304. The recommendation profile canbe included in the user profile 304 of a particular user.

The player relevance determiner 324 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for determining a player relevancescore for a user profile. The player relevance score can be indicativeof a relevance of a particular player to the user profile 304 (e.g. canindicate a degree to which a user corresponding to the user profile 304is interested in the particular player). The player relevance determiner324 can determine a player relevance score for one or more playersincluded in the user profile 304. For example, the player relevancedeterminer 324 can determine a player relevance score for each playerincluded in the user profile 304, or for a set of players included inthe user profile 304 (e.g. a set including players included in activecontests, or a set including players included in active contests andrecent historical contests (e.g. contests that began or terminated at orafter a predetermined date and/or time)). The player relevancedeterminer 324 can also determine a player relevance score for playersnot included in the user profile 304 (e.g. may assign a predetermined ordefault score to one or more players not included in the user profile304, which may vary from player to player). An embodiment of a method ofusing the player relevance determiner 324 to determine one or moreplayer relevance scores is shown in FIG. 4, and is described in moredetail below.

The team relevance determiner 326 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for determining a team relevance scorefor a user profile. The team relevance score can be indicative of arelevance of a particular team (e.g. a sports team of a player, or asponsor of a player) to the user profile 304 (e.g. can indicate a degreeto which a user corresponding to the user profile 304 is interested inthe particular team). One or more of the players included in the userprofile 304 can be associated with one or more teams (e.g. a real sportsteam for which the player plays). Such teams may be referred to hereinas being “included” in the user profile 304.

The team relevance determiner 326 can determine a team relevance scorefor one or more teams included in the user profile 304. For example, theteam relevance determiner 326 can identify one or more user attributesfrom the user profile 304 to determine the team relevance score for theone or more teams. The user attributes can include, but not limited to,a geographic location of a user associated with the user profile 304,previous geographic locations of a user associated with the user profile304, one or more social media accounts for a user associated with theuser profile 304 and teams or content within the social media accountsidentifying one or more teams, one or more teams a user associated withthe user profile 304 has purchased tickets and/or merchandise for,and/or one or more teams a user associated with the user profile 304 hashad monetary interactions with or regarding (e.g., betting history,fundraisers). Thus, the team relevance determiner 326 can identify oneor more teams corresponding to a user profile 304 from a variety ofdifferent sources to determine team(s) that a user associated with theuser profile 304 is likely to have a high interest in. The teamrelevance determiner 326 can determine a team relevance score for eachteam included in the user profile 304, and/or each team corresponding toone or more user attributes of the user profile 304. In someembodiments, the team relevance determiner 326 can determine a teamrelevance score for a set of teams included in the user profile 304(e.g. a set including teams included in (associated with players of)active contests, or a set including teams included in active contestsand recent historical contests (e.g. contests that began or terminatedat or after a predetermined date and/or time)). The team relevancedeterminer 326 can also determine a team relevance score for teams notincluded in the user profile 304 (e.g. may assign a predetermined ordefault score to one or more teams not included in the user profile 304,which may vary from team to team). An embodiment of a method of usingthe team relevance determiner 326 to determine one or more teamrelevance scores is shown in FIG. 5, and is described in more detailbelow.

The point category relevance determiner 328 can include components,subsystems, modules, scripts, applications, or one or more sets ofcomputer-executable instructions for determining a point categoryrelevance score for a user profile. The point category relevance scorecan be indicative of a relevance of a particular point category to theuser profile 304 (e.g. can indicate a degree to which a usercorresponding to the user profile 304 is interested in the particularpoint category). The point category relevance score can be based on oneor more players included in the user profile 304 and likely tocontribute to point categories. The point category relevance score canbe based on a sports role of the player (e.g. a position that the playerplays, or is otherwise associated with). The point category relevancescore can be associated with a team of the player. Thus, the pointcategory relevance score can indicate a player's likelihood ofcontributing to a particular point category for a particular team.

Point categories may be predetermined categories. For example, pointcategories can include “offense” fantasy points, such as fantasy pointsawarded based on a predefined set of statistics defined as “offense”statistics. Offense statistics can include any statistic, and mayinclude, for example, any of points and/or point types (e.g. totalpoints, touchdowns, field goals, safeties, three-pointers, goals,assists), e-sports statistics (e.g. “kills,” assists, kill-to-deathratio (which may also be considered a “defensive” statistic), orachievement of objectives), or other offensive statistics attributed toplayers participating in real sports events. Another point category maybe a “defense” fantasy points, such as fantasy points awarded based on apredefined set of statistics defined as “defense” statistics (e.g.take-aways, blocks, hits, forced fumbles, forced errors, interceptions,+/−(e.g. as a hockey statistic)). Another points category may include“other position” fantasy points, which can include points awarded toplayers playing a position that may be considered its own category. Forexample, “other position” fantasy points can include fantasy pointsawarded to goalies (e.g. for saves, save percentage,goals-against-average, or shutouts), fantasy points awarded to pitchers(e.g. earned run average, strikeouts, wins), or fantasy points awardedto kickers (e.g. field-goals or total points). Some other fantasy pointcategories can include, for example, “ground game” fantasy points (e.g.rushing yards or touchdowns earned by rushing) or “passing game” fantasypoints (e.g. total passing yards or touchdowns earned by passing). Theabove provides only a few examples of fantasy point categories, and anyother fantasy point categories may be defined, as appropriate.

The point category relevance determiner 328 can determine a pointcategory relevance score for one or more point categories based on oneor more players included in the user profile 304. For example, the pointcategory relevance determiner 328 can determine a point categoryrelevance score for a set of point categories each for each teamincluded in the user profile 304, or for a set of teams included in theuser profile 304 (e.g. a set including teams included in (associatedwith players of) active contests, or a set including teams included inactive contests and recent historical contests (e.g. contests that beganor terminated at or after a predetermined date and/or time)). The pointcategory relevance scores can thus indicate a likelihood of a playerincluded in the user profile 304 contributing to a particular pointcategory for a particular team. An embodiment of a method of using thepoint category relevance determiner 328 to determine one or more pointcategory relevance scores is shown in FIG. 6, and is described in moredetail below.

The candidate content item recommendation database 308 can include oneor more data structures that store recommendations 309, including therecommendation 309 a shown in FIG. 3. The recommendations 309 can becontent items or content objects that can be presented to a device ofthe user. The recommendations 309 can include information that thesystem can use to generate content items that can be transmitted to andpresented on a device of the user. The recommendations 309 can include auser interface through which a user can input a recommendation amountand through which the user can interact with the recommendation. In someimplementations, the recommendation 309 a can include or otherwiseidentify one or more of: a first team 330, a second team 332, aprediction on a future outcome 334, and a recommendation quantity 336.The recommendation 309 a can correspond to a likelihood that a certainoutcome will occur in one or more sporting events. The recommendationmay be an invitation to participate in predicting a future outcome thatis either managed by the content management system 302, or by one ormore third party servers in communication with the content managementsystem 302. In some implementations, the recommendation 309 a caninclude or otherwise identify one or more players selected in one ormore fantasy sports lineups.

In some embodiments, the content management system 302 can be incommunication with one or more third party servers that periodicallyprovide data that the content management system 302 can use to generateone or more recommendations to be included in content items that arethen presented to remote devices associated with users. The dataprovided to the content management system 302 can include a plurality ofpossible future outcomes for one or more sporting events, including butnot limited to future outcomes pertaining to individual players, teams,or multiple teams. In addition, the data can include a current valuethat is based on a likelihood that a particular future outcome willoccur based on a current status of one or more sporting events.

In some such embodiments, the content management system 302 canestablish and maintain a communication channel with the one or morethird-party servers and utilize a recommendation policy that enables thecontent management system 302 to access the data maintained by the oneor more third-party servers, including the data the content managementsystem can use to generate the one or more recommendations.

In some embodiments, the content management system 302 can be configuredto perform one or more functions of the third-party servers, includingbut not limited to dynamically generating current values that are basedon a likelihood that particular future outcomes will occur based on acurrent status of one or more sporting events.

The content management system 302 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for receiving future outcome data fromthe one or more third party servers and for processing the futureoutcome data to generate recommendations, such as the recommendation 309a. By way of example, the processing can include determining a team or aplayer associated with the future outcome data, and including the teamor player in the determined recommendation 309 a. The content managementsystem 302 can determine a relevance of the recommendation 309 a to theuser profile 304 using one or more features of the recommendation 309 a,including any of the first team 330, the second team 332, and theprediction on a future outcome 334.

The recommendation 309 a can include a first team 330 that includes aset of players P1″ through PN″, and a second team 332 that includes aset of players P1′″ through PN′″. The first team 330 can include anynumber of players, and the second team 332 can include any number ofplayers. In some embodiments, the recommendation 309 a relates to a realsports event in which the first team 330 and the second team 332 playagainst each other. In some embodiments, the recommendation 309 a doesnot include any teams, and the recommendation 309 a may include one ormore players (e.g. the recommendation 309 a may be related to one ormore players' performance (e.g. individual performance)).

The prediction on a future outcome 334 can include data related to aparticular outcome within the game, for instance, a goal or wincondition. For example, the prediction on a future outcome 334 caninclude data that indicates that the goal or win condition includes awin, or includes a feature of the real sports event being above, equalto, or below a threshold. For example, prediction on a future outcome334 can include data that indicates that the particular outcome isachieved if one or more players or one or more teams scores apredetermined number of points, or achieves a pre-determined number ofinstances of an objective (e.g. touchdowns), or if at least apredetermined total number of points is scored in a game (an“over/under” for a game point total), or if another objective isachieved (e.g. a shutout), or some combination of the above.

The prediction on a future outcome 334 can be associated with one ormore (fantasy) point categories (e.g. via associations stored in areference table, or via metadata tags). For example, a prediction on afuture outcome 334 that indicates that a particular outcome is achievedif an “over/under” for a game point total can be associated with an“offense” point category and with a “defense” point category. Theassociation may indicate a correlation between the point category andthe prediction on a future outcome. For example, the association mayindicate a positive correlation between the “offense” point category andthe “over/under” prediction on a future outcome, and a negativecorrelation between the “defense” point category and the “over/under”prediction on a future outcome. The association may include a weightindicative of a strength of the correlation. For example, an“interceptions” point category may have an association with a “win”prediction on a future outcome (a prediction on a future outcome that isdetermined by a teaming winning a real sports event) that includes arelatively small, positive weight (indicating a relatively small,positive correlation between interceptions and a win), while a“touchdowns” point category may have an association with the “win”prediction on a future outcome that includes a relatively large,positive weight (indicating a relatively large, positive correlationbetween touchdowns and a win). The weights may be determined in anyappropriate manner, including by a machine-learning algorithm trained ona training data set. The term “machine-learning algorithm” can be usedherein to refer to an algorithm determined by a process includingmachine learning (e.g. a machine-trained algorithm). Such associationscan be used by the content item recommendation matcher 312 to correlatepoint category relevance scores for a recommendation profile withcandidate recommendations stored in the candidate recommendationdatabase 308, as described in more detail herein.

In some embodiments, the recommendation 309 a can includerecommendations for live or real-time betting. For example, therecommendation 309 a can include or correspond to play-by-play betting.The content management system 302 can generate one or morerecommendations 309 a for a particular play within a current or livegame. For example, the content management system 302 can generaterecommendations 309 a once a sports contest begins (e.g., is underway,initiates) and can continue providing recommendations 309 a during thesports contest. The content management system 302 can generate one ormore recommendations 309 a for a particular scoring opportunity (e.g.,goal, home run, touchdown) within a current or live game. Therecommendations 309 a can be generated based in part on user attributesand/or data stored in or associated with a user profile 304. The contentmanagement system 302 can generate one or more recommendations 309 aresponsive to different events that may occur during a sports contest.For example, the contest management system 302 can generate a first setof recommendations 309 a before or as a sports contest begins. The firstset of recommendations 309 a can correspond to a first team to score agoal, a first player to hit a home run, or a first player to score atouchdown. After a first scoring event (e.g., goal, home run, touchdown)occurs within the sports content, the content management system 302 cangenerate a second set of recommendations 309 a. The second set ofrecommendations 309 a can be different from the first set ofrecommendations 309 a. In some embodiments, one or more recommendations309 a from the first set of recommendations 309 a can be the same as oneor more recommendations 309 a from the second set of recommendations 309a. After a second scoring event (e.g., field goal, strike out, threepoint shot) occurs within the sports content, the content managementsystem 302 can generate a third set of recommendations 309 a. The thirdset of recommendations 309 a can be different from the first set ofrecommendations 309 a and/or the second set of recommendations 309 a. Insome embodiments, one or more recommendations 309 a from the third setof recommendations 309 a can be the same as one or more recommendations309 a from the first set of recommendations 309 a and/or the second setof recommendations 309 a. The content management system 302 cancontinually and dynamically generate one or more recommendations 309 aduring a live sports contest or sports contest that is underway toprovide live betting or play-by-playing.

The content management system 302 can continually and dynamicallygenerate one or more recommendations 309 a that are personalized for auser associated with the user profile 304 by using user attributesand/or other data stored in and/or associated with the user profile 304.For example, the first set of recommendations 309 a can include a largeset of recommendations 309 a. The content management system 302 can rankand assign weights to each of the recommendations 309 a forming thefirst set of recommendations 309 a using a match score. The contentmanagement system 302 can generate match scores for each of therecommendations 309 a forming the first set of recommendations 309 a.The match scores can correspond to a relationship between userattributes and/or data stored in the user profile 304. In embodiments,the match score can indicate a likelihood that a user associated withthe user profile 304 is likely to act upon, participate, or engage withthe recommendation 309 a. The content management system 302 can identifyand select a predetermined number of recommendations 309 a (e.g., topthree, top five, top ten) having the highest or greatest match score ascompared to the other recommendations 309 a. The content managementsystem 302 can provide or present the predetermined number ofrecommendations 309 a having the highest or greatest match score ascompared to the other recommendations 309 to a user of a deviceassociated with the user profile 304 to provide a personalized set ofreal-time recommendations 309 a to the respective user. The contentmanagement system 302 can continually and dynamically update andgenerate one or more personalized recommendations 309 a during a livesports contest or sports contest that is underway to providepersonalized live betting or personalized play-by-playing for a user ofa device associated with the user profile 304.

The recommendation quantity or amount 336 can be a value correspondingto the recommendation. For example, the recommendation amount 336 canindicate an amount to participate in the prediction on a future outcome334 included in the recommendation (e.g. an amount of money or points),an amount that may be awarded upon successful completion of theprediction on a future outcome 334, or a ratio of the amount toparticipate in the prediction on a future outcome included in therecommendation and the amount that may be awarded upon the prediction onthe future outcome actually occurring. In some embodiments, therecommendation quantity or amount 336 can be a fixed or set amountdetermined by a user associated with the user profile. In oneembodiment, the recommendation quantity or amount 336 can be, forexample, a $50 bet on a first team to win or defeat a second, differentteam. The amount of the recommendation quantity or amount 336 can varyand can be less than this amount or greater than this amount.

In some embodiments, the recommendation 309 a can be based on aplurality of predictions on future outcomes. For instance, therecommendation can be based on a first prediction on a future outcome(for instance, a first player of team 1 rushing for more than 100 yards)and a second prediction on a future outcome (for instance, a second teambeating a third team by more than 7 points). A user can take an actionon such a recommendation and if both predictions actually occur, theuser can be rewarded based on the recommendation amount associated withthe recommendation.

The user profile augmenter 310 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for augmenting a user profile 304. Theaugmented user profile can include more data than the user profile 304,and may thus provide a larger sample size and correspondingly morereliable statistics for use by the content management system 302. Theuser profile augmenter 310 can augment the user profile 304 bycategorizing the user profile 304 as belonging to a set of similar userprofiles, and the recommendation generator 306 can determine arecommendation profile based on an expanded set of parameter values thatcorresponds to the set of similar user profiles. For example, the userprofile augmenter 310 can implement a clustering algorithm on a set ofuser profiles to generate clusters of similar user profiles. The userprofile 304 may be so-clustered, and may be tagged as belonging to aparticular set of similar users. The recommendation generator 306 maydetermine a recommendation profile for the particular set of similarusers. For example, the recommendation generator 306 can perform any ofthe operations described herein using contests and associatedinformation included in any of the user profiles of the particular setof similar user profiles. The recommendation generator 306 may weigh theuser profile 304 more heavily than other user profiles when determiningthe recommendation profile. This can provide for an augmented userprofile that can be used by the recommendation generator 306 todetermine similar contests. References made herein to a user profile, orto a user profile 304, may refer to a user profile or to an augmenteduser profile.

The content item recommendation matcher 312 can include components,subsystems, modules, scripts, applications, or one or more sets ofcomputer-executable instructions for matching a candidate recommendationof the candidate content item recommendation database 308 to arecommendation profile of the user. The content item recommendationmatcher 312 can perform analysis based on, for example, a playerrelevance score of the recommendation profile, a team relevance score ofthe recommendation profile, a point category relevance score of therecommendation profile, and a real-time event score, and can determine amatch with features of a candidate recommendation (e.g. can determine amatch score).

The content item recommendation matcher 312 can employ a match scoringalgorithm 338 (match algorithm 338) to match the candidaterecommendation to the recommendation profile. The match algorithm 338can, for example, calculate a total match score based on a player matchscore (corresponding to a match between the player relevance score ofthe recommendation profile and one or more players that may be relevantto the candidate recommendation), a team match score (corresponding to amatch between the team relevance score of the recommendation profile andone or more teams that may be relevant to the candidate recommendation),a point category match score (corresponding to a match between a pointcategory relevance score of the recommendation profile and one or moreprediction on a future outcomes that may be relevant to the candidaterecommendation), and/or a historical recommendation match score. Thematching can include, for example, determining a plurality of player,team, or point match scores using weights determined by amachine-learning process, and determining a total match score based on aweighted aggregation using the weights. Detailed description of anexample of a process is described below in reference to FIG. 7.

The content item recommendation matcher 312 can further generate aranking or a respective priority score for the candidate recommendationsbased on the determined match scores. The content item recommendationmatcher 312 may determine a set of candidate recommendations (e.g. allof the candidate recommendations, or a smaller set of candidaterecommendations that satisfy one or more predetermined conditions (suchas having a match score above a predetermined threshold)), and thecontent item recommendation matcher 312 may rank the set of candidaterecommendations based on their respective match scores. For example, thecontent item recommendation matcher 312 may rank the candidaterecommendations of the set of candidate recommendations in descendingorder from highest match score, or may employ any other appropriateranking policy. In some embodiments, the match score between arecommendation profile and a candidate recommendation indicates alikelihood that a user associated with the user profile 304 is likely toact upon, participate, or engage with the candidate recommendation.

The content item provider 314 can include components, subsystems,modules, scripts, applications, or one or more sets ofcomputer-executable instructions for providing a content item (such as acontent item 204, described below in reference to FIG. 2B) to a clientdevice. The content item can include one or more candidaterecommendations that have a match score that satisfies a predeterminedcondition. For example, the content item provider 314 can provide datafor displaying or rendering the content item, or can instruct anothersystem to provide such data. The content item can include a reference to(e.g. can include a reference included in a text, an image, a video, ahyperlink, an interactive object for initializing an application, oranother media item) the candidate recommendation.

Referring now to FIG. 4, FIG. 4 shows an example embodiment of a processfor determining a respective player relevance score for one or moreplayers corresponding to the user profile 304. The process can beperformed by the player relevance determiner 324 using data included inthe user profile 304. The player relevance scores can be included in arecommendation profile of the user profile 304.

In a brief overview, the player relevance determiner 324 can determine aset of players included in user profile (BLOCK 402). The playerrelevance determiner 324 can select a target player from the set ofplayers (BLOCK 404). The player relevance determiner 324 can identify annth instance of target player (BLOCK 406). The player relevancedeterminer 324 can increment player relevance score based on one or moreweights for the nth instance (BLOCK 408). The player relevancedeterminer 324 can determine whether all instances of the target playeraccounted for (BLOCK 410). If the player relevance determiner 324determines that all instances of the target player are not accountedfor, the process can proceed to BLOCK 404, and the index n can beincrement to select a next instance of the target player. If the playerrelevance determiner 324 determines that all instances of the targetplayer are accounted for, the process can proceed to BLOCK 412 and anext player can be selected.

In more detail, at BLOCK 402 the player relevance determiner 324 canidentify a set of players included in the user profile 304. The playerscan be from one or more fantasy sports lineups included in the userprofile 304. The fantasy sports lineups can be included in one or moreactive contests 316. The active contests can be contests for whichregistration is open, or contests for which one or more, or all,corresponding real sports events have not begun or have not finished.The one or more active contests 316 can include a fantasy sports lineup(e.g. a lineup 320) including one or more players (e.g. playersselected, drafted, or provided to the user of the user profile) to beincluded in the set of players. In some embodiments, the contentmanagement system 302 can identify only players included in activelineups. In other embodiments, the content management system 302 canidentify one or more fantasy sports lineups included in one or morehistorical contests 318 included in the user profile 302 (e.g. in amanner similar to the identifying of the fantasy lineups from the activecontests), and can include players from the identified historicalcontests 318 in the set of players.

At BLOCK 404 the player relevance determiner 324 can select a targetplayer from the set of players. The target player can be selected forsubsequent analysis by the player relevance determiner 324 to generate aplayer relevance score for the player with respect to the user profile304.

At BLOCK 406 the player relevance determiner 324 can determine an nthinstance of the target player. An “instance” of a player can refer to aninstance of a player being included in a fantasy sports lineup includedin the user profile 304. In at least some embodiments, each contest(active or historical) that includes the player can constitute aninstance of the player. The player relevance determiner 324 can identifya total number N contests that include the player (e.g. can identify Ninstances of the player), and can proceed to perform analysis on eachinstance of the player using an index n to track the instance number. AtBLOCK 406, the player relevance determiner 324 can select an nthinstance of the target player for analysis.

At BLOCK 408 the player relevance determiner 324 can increment a playerrelevance score for the target player based on one or more weights forthe nth instance. The weights for the nth instance can include, forexample, weights that are specific to the target player or weights thatare specific to the contest corresponding to the nth instance of thetarget player.

For example, one of the weights may be a “player importance weight.”Such a weight may be specific to the target player, and may be retrievedby the player relevance determiner 324 from a lookup table. This canprovide for more heavily weighing popular players in generating theplayer relevance score. In other embodiments, the player importanceweight may be specific to the contest corresponding to the instanceunder analysis. For example, the player importance weight maybe based on(e.g. may be proportional to, or may be equal to) a constrained resourceallocated to the player in the contest. For example, a contest mayinclude a salary cap that defines a maximum amount of fantasy money thatmay be spent on a lineup. Each player may be associated with a “salarycap hit” that counts against the salary cap limit. The salary cap hit ofa player may be indicative of the players relative importance in thecontest to the user. As such, a player importance weight based on thetarget player's salary cap hit may be used by the player relevancedeterminer 324 to weigh the relative importance of an instance of theplayer.

Another example of a weight to be applied may be a recency weightrelated to a time of the contest (e.g. a start of registration of thecontest, a close of registration of the contest, or any otherappropriate time associated with the contest). In embodiments in whichhistorical contests are included, for example, the recency weight maymore heavily weigh recent contests, and may less heavily weigh oldercontests.

Yet another example of a weight that may be applied is a contestimportance weight. This may be based on, for example, a total prize poolof the contest or a size of a buy-in for the contest.

The player relevance determiner 324 can thus increment a playerrelevance score for the target player based on one or more weights forthe nth instance. For example, a player relevance score can beincremented by an amount proportion to one or more of the weights (e.g.as part of a running calculation to determine a total player relevancescore). The weights may be determined in any appropriate manner,including by a machine-learning algorithm trained on an annotated dataset.

At BLOCK 410 the player relevance determiner 324 can determine whetherall instances of the target player have been accounted for, or whether apredetermined number of instances of the target player have beenaccounted for. If more instances of the target plyer remain to beanalyzed, the player relevance determiner 324 can increment the index nand can proceed to BLOCK 406. Otherwise, the player relevance determiner324 can determine that the current player relevance score count is atotal player relevance score corresponding to the user profile 304, andcan proceed to BLOCK 412 to select a next player for analysis.

Referring now to FIG. 5, FIG. 5 shows an example embodiment of a processfor determining a respective team relevance score for one or more teamscorresponding to the user profile 304. The process can be performed bythe team relevance determiner 326 using data included in the userprofile 304. The team relevance scores can be included in arecommendation profile of the user profile 304.

In a brief overview, the team relevance determiner 326 can determine acontest included in a user profile, the contest including a lineup(BLOCK 502). The team relevance determiner 326 can increment, for eachplayer included in the lineup, a corresponding team count based one ormore weights (BLOCK 504). The team relevance determiner 326 candetermine primary team relevance score for one or more teams based oncorresponding team counts (BLOCK 506). The team relevance determiner 326can determine secondary team relevance scores for the one or more teams(BLOCK 508). The team relevance determiner 326 can determine total teamrelevance scores for the one or more teams based on the primary teamrelevance scores and the secondary team relevance scores (BLOCK 510).

In more detail, at BLOCK 502 the team relevance determiner 326 candetermine one or more contests included in the user profile 304, thecontest including a fantasy lineup including players. In someembodiments, the team relevance determiner 326 can determine playersfrom one or more fantasy sports lineups included active lineups only(e.g. from active contests 316). In other embodiments, the teamrelevance determiner 326 can determine players from one or more fantasysports lineups included in one or more historical contests 318 includedin the user profile 302.

At BLOCK 504 the team relevance determiner 326 can determine a teamcount for each team of a set of teams (e.g. each team in one or morereal sports leagues). The team relevance determiner 326 can identifyeach player included in the fantasy lineups of the one or moredetermined contests, and can increment a corresponding team count foreach instance of the players. For each instance of a player, teamrelevance determiner 326 can increment a corresponding team count (e.g.of a real team for which the player plays). The team relevancedeterminer 326 can increment the team count based on one or moreweights, such as any of the weights discussed above with respect to FIG.4 (e.g. player importance weights, contest importance weights, orcontest recency weights).

At BLOCK 506 the team relevance determiner 326 can determine a primaryteam relevance score for each team of the set of teams. The primary teamrelevance score can indicate a relevance of a team to the user profile304. The primary team relevance score can be based on the team count(e.g. can be equal to or proportional to the team count). In someembodiments, the primary team relevance score is determined based on analgorithm that includes the team count as a feature. The algorithm mayinclude other features, including, for example, a match scorecorresponding to a match between the team and any of: a geolocationassociated with the user profile 304, merchandise purchase dataassociated with the user profile 304, a “favorite team” associated withthe user profile 304 (e.g. selected directly by the user), an internetbrowsing history associated with the user profile 304, a sports researchhistory indicating which players were researched by the user (e.g. wereincluded on a webpage downloaded by the user, the webpage displayingstatistics or other information for the player), and which teamscorrespond to those player researched player. The team relevancedeterminer 326 can thus determine a primary team relevance score.

At BLOCK 508 the team relevance determiner 326 can determine a secondaryteam relevance score. The secondary team relevance score may beindicative of secondary teams that are relevant to the user profile 304based on a relationship between the secondary team and another teamhaving a high primary team relevance score (e.g. a relevance score abovea threshold). The secondary team relevance score may be indicative thatthe secondary team is a rival team of the other team having a highprimary team relevance score (referred to herein as a “primary team”),or that the secondary team is competing with the primary team in someway (e.g. for a playoff spot). The secondary team relevance score can bebased on one or more features including, for example, a match scorebetween respective divisions of the primary team and the secondary team,a match score between respective conferences of the primary team and thesecondary team, a “rivalry” score referenced in a lookup table, adifference in a total number of real league points between primary teamand the secondary team, or any other appropriate factor that mayindicate relevance to the primary team.

At BLOCK 510 the team relevance determiner 326 can determine a totalteam relevance score for the one or more teams based on the primary teamrelevance score and the secondary team relevance score. In someembodiments, the team relevance determiner 326 can determine the totalteam relevance score based on a weighted aggregation of the primary teamrelevance score and the secondary team relevance score. In someembodiments, the team relevance determiner 326 does not implement anysecondary team relevance score, and the total team relevance score issimply the primary team relevance score.

Thus, the team relevance determiner 326 can determine a total teamrelevance score for the user profile 304 for each team of the set ofteams (e.g. for each team in one or more sports leagues).

Referring now to FIG. 6, FIG. 6 shows an example embodiment of a processfor determining a respective point category relevance score for one ormore point categories for a recommendation profile of user profile 304.The process can be performed by the point category relevance determiner328 using data included in the user profile 304. The point categoryrelevance scores can be included in a recommendation profile of the userprofile 304.

In a brief overview, the point category relevance determiner 328 candetermine a set of players included in user profile 304 (BLOCK 602). Thepoint category relevance determiner 328 can select a target player fromthe set of players (BLOCK 604). The point category relevance determiner328 can identify a sports role for the target player (BLOCK 606). Thepoint category relevance determiner 328 can determine a point categoryrelevance score based on the sports role (BLOCK 608). The point categoryrelevance determiner 328 can select a next player (BLOCK 610).

In more detail, at BLOCK 602 the point category relevance determiner 328can determine a set of players included in a user profile. The pointcategory relevance determiner 328 can determine one or more contestsincluded in the user profile 304, the contest including a fantasy lineupincluding players, can each of the players can be included in the set ofplayers. In some embodiments, the point category relevance determiner328 can determine only players from one or more fantasy sports lineupsincluded in active lineups only (e.g. from active contests 316). Inother embodiments, the point category relevance determiner 328 candetermine players from one or more fantasy sports lineups included inone or more historical contests 318 included in the user profile 302.

At BLOCK 604 the point category relevance determiner 328 can select atarget player from the set of players. The target player can be selectedfor subsequent analysis by the point category relevance determiner 328to generate a point category relevance score for one or more pointcategories with respect to the user profile 304.

At BLOCK 606 the point category relevance determiner 328 can identify asports role for the target player. The sports role may refer to a realsports position or role for the target player (e.g. short-stop, pitcher,goalie, offensive linesman, or a “support” role (for e-sports)). Thetarget player may be associated with one or more sports roles. Forexample, the target player may have fantasy eligibility for one or moreroles. In such a case, the analysis described herein can be performedfor one, more, or all of the target players roles.

At BLOCK 608 the point category relevance determiner 328 can determineor increment a point category relevance score or a point category basedon the sports role. The point category relevance determiner 328 candetermine or increment one or more a point category relevance scoresrespectively corresponding to one or more point categories byreferencing a lookup table that indicates point category relevancescores corresponding to the target player's role. For example, a targetplayer playing hockey in the National Hockey League (NHL) having a“defenseman” role may have a low corresponding relevance to an “offense”category, and a high corresponding relevance to a “defense” category.The point category relevance determiner 328 can determine or incrementrespective scores for both the “offense” category and the “defense”category. In some embodiments, the point category relevance determiner328 can determine or increment based on weights, such as any of theweights discussed above with respect to FIG. 4 and FIG. 5 (e.g. playerimportance weights, contest importance weights, or contest recencyweights).

In some embodiments, additional (e.g. secondary) role information may beassociated with the role. For example, the NHL target player's role maybe associated with an indication that the defenseman is used in powerplays in the NHL. The point category relevance determiner 328 may thenmore specifically reference a lookup table to determine point categoryrelevance scores corresponding to a “defenseman” with a “power play”tag, which may be associated with a higher score for the “offense”category than a player without the “power play” tag. Alternatively, the“power play” may be an additional role for the target player, and thepoint category relevance determiner 328 may perform independent analysis(including referencing the lookup table) for both the “defenseman” roleand the “power play” to determine point category relevance scores.

At BLOCK 610 the point category relevance determiner 328 can select anext player. Thus the point category relevance determiner 328 candetermine contributions to point category relevance scores for aplurality of point categories, based on players included in the userprofile 304. The point category relevance scores may be matched withprediction on a future outcomes of candidate recommendations by thecontent item recommendation matcher 312 to help determine a relevance ofthe candidate recommendations to the user profile 304, as describedherein.

Referring now to FIG. 7, FIG. 7 shows an example embodiment of a processfor determining a total match score between a candidate recommendationand the user profile 304. This process can be performed by the contentitem recommendation matcher 312. In a brief overview, the content itemrecommendation matcher 312 can select a candidate recommendation anddetermine recommendation features (BLOCK 702). The content itemrecommendation matcher 312 can determine corresponding relevance scoresfor each of the features (BLOCK 704). The content item recommendationmatcher 312 can determine a total match score using a machine-learningalgorithm based on the corresponding relevance scores (BLOCK 706). Thecontent item recommendation matcher 312 can select a next candidaterecommendation (BLOCK 708). The content item recommendation matcher 312can rank candidate recommendations (BLOCK 710).

In more detail, at BLOCK 702 the content item recommendation matcher 312can select a candidate recommendation and can determine one or morerecommendation features. The content item recommendation matcher 312 canselect a candidate recommendation 309 a from the candidaterecommendation database 308. The recommendation 309 a can include one ormore of: one or more athletes, a first team 330, a second team 332, aprediction on a future outcome 334 or recommendation quantity 336. Therecommendation 309 a can include the first team 330 that includes a setof players P1″ through PN″, and the second team 332 that includes a setof players P1′″ through PN′″. The first team 330 can include any numberof players, and the second team 332 can include any number of players.In some embodiments, the recommendation 309 a includes players but notteams (e.g. for an individual performance outcome). The content itemrecommendation matcher 312 can determine or identify any of theseplayers. The recommendation 309 a can be provided (e.g. registration forthe recommendation may be provided) by the content management system302, or by one or more third party servers. The recommendation 309 a caninclude the prediction on a future outcome 334, which can be associatedwith one or more points categories. The association may be a weightedassociation indicating a relevance of the point category to theprediction on a future outcome.

At BLOCK 704 the content item recommendation matcher 312 can determinecorresponding relevance scores for each of the features of therecommendation 309 a. The corresponding relevance scores can be scoresdetermined, identified or retrieved by the recommendation generator 306,and can be included in a recommendation profile of the user profile 304.The corresponding relevance scores can include, for example,corresponding player relevance scores for one, more than one, or each ofthe players included in the recommendation 309 a, corresponding teamrelevance scores for one, more than one, or each of the teams includedin the recommendation 309 a, and corresponding point category relevancescores for one, more than one, or each of the point categoriesassociated with the prediction on a future outcome 334 included in therecommendation 309 a.

At BLOCK 706 the content item recommendation matcher 312 can determine atotal match score between the candidate recommendation and the userprofile 304 using a match scoring algorithm 338 based on thecorresponding relevance scores. The match scoring algorithm 338 can be,for example, define a weighted aggregation of the correspondingrelevance scores. The weights of the match scoring algorithm 338 can bedetermined by training the algorithm on an annotated data set. Forexample, the annotated data set may include a plurality of data setseach including a recommendation profile and candidate recommendationfeatures, and an annotation indicating a “true” total match score. Insome such embodiments, the match scoring algorithm 338 can be trained onthe annotated data set to determine appropriate weights for the weightedaggregation of the corresponding relevancy scores.

In some embodiments, the recommendation matcher 312 can determine atotal match score between the candidate recommendation and the userprofile 304 using the match scoring algorithm 338 further based on ahistorical recommendation match score. A historical recommendation matchscore can be based on a match between features included in thehistorical recommendation data 319 of the user profile 304 and featuresof the candidate recommendation. For example, the recommendation matcher312 can determine historical recommendation match points for ahistorical recommendation match score based on a match between any of ateam, a prediction on a future outcome, and a recommendation amount. Forexample, the recommendation matcher 312 can determine historical datamatch points for a recommendation amount based on a difference between arecommendation amount (or quantity 336) of the candidate recommendationand a recommendation amount derived from one or more historicalrecommendations of the user profile 304. In some embodiments, therecommendation matcher 312 can determine historical data match pointsfor a team according to a policy or set of rules. For example, the rulescan include assigning a first number of points for a direct matchbetween teams, and a second number of points for an indirect matchbetween teams (e.g. based on a determination that two teams beinganalyzed are rivals (e.g. according to a “rivals” lookup table) or arein a same division). Weights can be used to aggregate the historicalrecommendation match points to determine the historical recommendationmatch score.

In some embodiments, the recommendation matcher 312 can determine atotal match score between the candidate recommendation and the userprofile 304 using the match scoring algorithm 338 further based on areal-time event score based on a real-time event that occurs in, or isotherwise associated with, a game or event corresponding to thecandidate recommendation. An example embodiment of a process thatdetermines a total match score in this manner is described in moredetail herein in reference to FIG. 9.

At BLOCK 708 the content item recommendation matcher 312 can select anext candidate recommendation from the candidate recommendation database308. The content item recommendation matcher 312 can perform theanalysis described in BLOCKS 702 through 708 for the next candidaterecommendation. Thus, the content item recommendation matcher 312 cananalyze a set of candidate recommendations to determine a match scorefor each, corresponding to the user profile 304.

At BLOCK 710 the content item recommendation matcher 312 can rankcandidate recommendations. For example, the content item recommendationmatcher 312 may rank the candidate contests of the set of candidatecontests in descending order from highest match score, or may employ anyother appropriate ranking policy. In some embodiments, the match scorebetween a recommendation profile and a candidate contest indicates alikelihood that a user associated with the user profile 304 is likely toregister for or take an action on the candidate recommendation.

Referring now to FIG. 8, FIG. 8 shows an example embodiment of a processfor providing a content item to a client device identifying a candidaterecommendation selected by the content management system 302. This canbe used to provide a content item including a reference to arecommendation that is highly ranked based on a high match score betweenthe recommendation and a recommendation profile associated with theclient device. The process can be performed by the content managementsystem 302.

In a brief overview, the content management system 302 can identify oneor more fantasy sports lineups for a user profile (BLOCK 802). Thecontent management system 302 can generate a recommendation profilebased on the one or more fantasy sports lineups (BLOCK 804). The contentmanagement system 302 can identify a plurality of recommendations (BLOCK806). The content management system 302 can determine, using amachine-learning algorithm, a relevance score between each of theplurality of candidate recommendations and the recommendation profile(BLOCK 808). The content management system 302 can prioritize or rankthe plurality of candidate recommendations based on the relevance scores(BLOCK 810). And the content management system 302 can provide a contentitem to a client device associated with the user identifying a selectedcandidate recommendation based on the determined priority (BLOCK 812).

In more detail, at BLOCK 802, the content management system 302 canidentify one or more fantasy sports lineups included in the user profile304. The fantasy sports lineups can be included in one or more activecontests 316. The active contests can be contests for which registrationis open, or contests for which one or more, or all, corresponding realsports events have not begun or have not finished. The one or moreactive contests 316 can include a fantasy sports lineup (e.g. a lineup320) including one or more players (e.g. players selected, drafted, orprovided to the user of the user profile). In some embodiments, thecontent management system 302 can identify only players included inactive lineups. In other embodiments, the content management system 302can identify one or more fantasy sports lineups included in one or morehistorical contests 318 included in the user profile 302 (e.g. in amanner similar to the identifying of the fantasy lineups from the activecontests). In some embodiments, the above-described analysis isperformed with respect to an augmented user profile 304 augmented by theprofile augmenter 310.

In some embodiments, the content management system 302 can identify oneor more user attributes included in the user profile 304. The userattributes can correspond to a user or group of users associated withthe user profile 304. The user attributes can include, but not limitedto, a history of past contests, a plurality of lineups (e.g., previouslineups), a user type, a location, an activity profile and priceparameters. In some embodiments, the user profile 304 can include one ormore lineups (e.g., player lineups) and the lineups can include playerattributes, such as but not limited to one or more of the following: aname, a sport category, a location, a team value, a position value, aprice parameter or one or more future contests specific to therespective player. In some embodiments, the activity profile mayindicate an experience level of the user profile.

At BLOCK 804, the recommendation generator 306 of the content managementsystem 302 can generate a recommendation profile (e.g., recommendationprofile) based on the one or more fantasy sports lineups. The playerrelevance determiner 324 can determine one or more player relevancescores for the players included in the user profile 304 using, forexample, the process shown in FIG. 4. The team relevance determiner 326can determine one or more team relevance scores for teams associatedwith the players included in the user profile 304 using, for example,the process shown in FIG. 5. The point category relevance determiner 324can determine one or more point category relevance scores for theplayers included in the user profile 304 using, for example, the processshown in FIG. 6. These relevance scores can constitute a recommendationprofile that is included in, or associated with, the user profile 304.

In some embodiments, the recommendation generator 306 of the contentmanagement system 302 can generate a recommendation profile based on theone or more fantasy sports lineups and one or more user attributes fromthe user profile 304. The recommendation generator 306 can determine oneor more player relevance scores based on a user attribute from the userprofile 304 or multiple user attributes from the user profile 304. Forexample, and in some embodiments, the recommendation generator 306 canselect two user attributes such as a location of the user and a sportcategory. The recommendation generator 306 can use the selected userattributes to identify players included in fantasy sports lineups fromthe user profile 304. The recommendation generator 305 can identifyplayers corresponding to the selected user attributes or having theselected user attributes (e.g., play for a team in the same city orlocation, participate in the same sport). The recommendation generator306 can extract the identified players and determine one or more playerrelevance scores for the identified players having attributescorresponding to the selected user attributes. The recommendationgenerator 306 can determine one or more player relevance scores for theidentified players having attributes corresponding to the selected userattributes using, for example, the process shown in FIG. 4. Inembodiments, the recommendation generator 306 can generate therecommendation profile using players corresponding to the userattributes from the user profile 304. For example, the recommendationgenerator 306 can include in the recommendation profile players havingthe same attributes as the user attributes from the user profile 304.The players can be from a same team as a favorite team or local team toa user of a device associated with the user profile 304. The players canparticipate in a favorite sport as a favorite sport identified in theuser profile 304. The players can play one or more positionscorresponding to one or more positions identified in the user profile304. The players can be included in the at least one active fantasysports lineup and/or one or more previous fantasy sports lineups. Thus,the recommendation generator 306 can generate personalized playerrelevance scores using one or more user attributes that can bepersonalized for the user or groups of users associated with the userprofile 304. The player relevance scores can be personalized as theytake into account data and/or user attributes from the user profile 304.The player relevance scores can be unique for each user profile 304 suchthat player relevance scores generated for a first user profile 304 canbe different as compared to player relevance scores generated for asecond user profile 304. The number of user attributes used to generatethe player relevance scores can vary.

The recommendation generator 306 can use the identified players and thedetermined one or more player relevance scores to generate therecommendation profile. For example, the recommendation generator 306can include in the recommendation profile players having the highestplayer relevance scores and one or more common or the same attributes asthe user attributes from the user profile 304. For example, therecommendation generator 306 can include in the recommendation profile apredetermined number of players (e.g., five, ten) having the highestplayer relevance scores as compared to the other identified players. Thenumber of players included in the recommendation profile can vary andcan be selected based in part on a sport category or type of sport. Insome embodiments, the recommendation generator 306 can rank the playerscorresponding to the user attributes within the recommendation profilebased on the one or more relevance scores. In embodiments, theidentified players can be ranked or ordered within the recommendationprofile based in part on a corresponding player relevance score. Theidentified players having the highest or greatest relevance score can bepositioned and/or displayed with a greater prominence to increase alikelihood that a user associated with the user profile 304 is likely toact upon or select the respective player compared to the otheridentified players. For example, a first player having a highest orgreatest player relevance score can be listed first or more prominentlywithin a fantasy sports lineup of the recommendation profile. A secondplayer having a second highest or second greatest player relevance scorecan be listed second or less prominently within the recommendationprofile as compared to the first player. A third player having a lowestor least player relevance score can be listed last or less prominentlywithin the recommendation profile as compared to the first player or thethird player. A fantasy sports lineup in a recommendation profile caninclude a single player or multiple players (e.g., two or more players).

At BLOCK 806, the content management system 302 can identify a pluralityof candidate recommendations. The candidate recommendations may beincluded in the candidate recommendation database 308. The candidaterecommendations included in the candidate recommendation database 308may include or have one or more features, including, for example, one ormore players, one or more teams, and one or more predictions on futureoutcomes. In some embodiments, the content item recommendation matcher312 can generate a plurality of candidate recommendations. For example,the content item recommendation matcher 312 can identify user attributesfrom the user profile 304, one or more players and/or one or more teamsidentified in the user profile 304. The content item recommendationmatcher 312 can generate one or more candidate recommendations using theuser attributes, one or more players and/or one or more teams from theuser profile 304. For example, in one embodiment, the content itemrecommendation matcher 312 can identify a location of a user of a deviceassociated with the user profile 304 and select one or more players froma team corresponding the identified location. The content itemrecommendation matcher 312 can use the selected one or more players togenerate one or more candidate recommendations. The content itemrecommendation matcher 312 can determine corresponding relevance scoresfor each of the features of each of the candidate recommendations. Thefeatures can correspond to properties of the respective candidaterecommendations. The content item recommendation matcher 312 canidentify or extract features such as, but not limited to, a team, alocation (e.g., city, state, region), and/or sport type. The featurescan be selected based in part on data or user attributes from the userprofile 304. For example, the content item recommendation matcher 312can identify features for the candidate recommendations that correspondto data or user attributes of the user profile 304. In some embodiments,the content item recommendation matcher 312 can identify or extract thefeatures from the candidate recommendations that appear the mostfrequently and/or are included within each of the candidaterecommendations.

The corresponding relevance scores can be scores determined, identifiedor retrieved by the recommendation generator 306, and can be included ina recommendation profile of the user profile 304. The correspondingrelevance scores can include, for example, corresponding playerrelevance scores for one, more, or each of the players included in therespective candidate recommendations, corresponding team relevancescores for one, more, or each of the teams included in the respectivecandidate recommendations, and corresponding point category relevancescores for one, more, or each of the point categories associated with aprediction on a future outcome included in the respective candidaterecommendations.

At BLOCK 808, the content item recommendation matcher 312 can determine,using a machine-learning algorithm, a respective match score betweeneach of the plurality of candidate recommendations and therecommendation profile. For example, the content item recommendationmatcher 312 can implement a match scoring algorithm 338 to perform aweighted aggregation of the corresponding relevance scores of therecommendation profile. In embodiments, the match scoring algorithm 338can include user attributes of the user profile 304, the plurality ofcandidate recommendations and the recommendation profile as inputs. Thematch scoring algorithm 338 can be, for example, define a weightedaggregation of the relevance scores corresponding to the respectivecandidate recommendations and/or one or more selected user attributes.The content item recommendation matcher 312 can provide as inputs to thematch scoring algorithm 338 one or more candidate recommendations andone or more selected user attributes from the user profile 304. Thecontent item recommendation matcher 312 can execute the match scoringalgorithm 338 to determine one or more match scores (e.g., weightedmatch scores) between each of the plurality of candidate recommendationsand the recommendation profile based in part on the selected userattributes from the user profile 304. The weights of the match scoringalgorithm 338 can be determined by training the algorithm on anannotated data set. For example, the annotated data set may include aplurality of data sets each including a recommendation profile andcandidate recommendation features, and an annotation indicating a “true”total match score. The match scoring algorithm 338 can be trained on theannotated data set to determine appropriate weights for the weightedaggregation of the corresponding relevancy scores. In some embodiments,the match scores can be ranked based in part on the weights determinedfor the respective match score. For example, the content itemrecommendation matcher 312 can determine which candidate recommendationsare a better match (e.g., higher weighted match score) for therecommendation profile based in part on the weighted score. In someembodiments, the match scoring algorithm 338 can include a feedbackportion to provide current, existing or recent match scores as anadditional input to a subsequent execution the match scoring algorithm338. For example, the match scoring algorithm 338 can dynamically update(e.g., change, increase, decrease) match scores as user attributeswithin the user profile 304 change 304 and/or as the user profile 304interacts with or enters different fantasy sports contests.

At BLOCK 810, the content item recommendation matcher 312 can prioritizeor rank the plurality of candidate recommendations. The content itemrecommendation matcher 312 can generate a ranking or a respectivepriority score for the candidate recommendations based on the determinedmatch scores. In embodiments, the content item recommendation matcher312 can use the weights of the match scores to rank or order thecandidate recommendations. For example, the content item recommendationmatcher 312 may rank the candidate contests of the set of candidatecontests in descending order from highest match score, or may employ anyother appropriate ranking policy. The content item recommendationmatcher 312 can rank the candidate contests of the set of candidatecontests in descending order from highest weighted match score to lowestweight match score. In some embodiments, the match score between arecommendation profile and a candidate contest indicates a likelihoodthat a user associated with the user profile 304 is likely to registerfor or act upon the candidate recommendation. For example, the matchscore can be weighted using or based in part on user attributes form theuser profile 304. The match scores or weighted match scores cancorrelate attributes of the user or group of users with the candidaterecommendations. Thus, the match scores or weighted match scores can bepersonalized for the user or group of users associated with the userprofile 304 by prioritizing candidate recommendations having a degree ofsimilarity with fantasy sports contests, players, teams, and/or realsporting events the user profile 304 has previously interacted with.

At BLOCK 812, the content management system 302 can provide a contentitem to a device associated with the user identifying a selectedcandidate recommendation based on the determined priority. For example,the content management system 302 can transmit data for displaying,rendering, or otherwise providing the content item to a client deviceassociated with the user profile. The content item can include at leastone selected candidate recommendation of the plurality of candidaterecommendations. In some embodiments, the content item can includemultiple (e.g., two or more) candidate recommendations of the pluralityof candidate recommendations. The content item can include the candidaterecommendation having the highest or greatest match score as compared tothe other candidate recommendations of the plurality of candidaterecommendations. The content item can include a predetermined number ofcandidate recommendations (e.g., top three candidate recommendations,top five recommendations) having the highest or greatest match score ascompared to the other remaining candidate recommendations of theplurality of candidate recommendations. In some embodiments, the contentitem can include the candidate recommendation having a match score thatis greater than or above a match score threshold. The match scorethreshold can indicate a likelihood that a user associated with the userprofile 304 is likely to register for or act upon the candidaterecommendation(s) compared to the other candidate recommendations of theplurality of candidate recommendations. The content item can be providedto a user through a client device associated with the user profile 304.For example, the content item can be displayed on the client devicethrough a user interface of the client device. The candidaterecommendations can be ordered within the display based in part on thematch score generated for the respective candidate recommendation. Forexample, a first candidate recommendation having a highest or greatestmatch score can be listed first or more prominently within the displayof the content item on the client device. A second candidaterecommendation having a second highest or second greatest match scorecan be listed second or less prominently within the display of thecontent item on the client device. A third candidate recommendationhaving a lowest or least player match score can be listed last or lessprominently within the display of the content item on the client device.

In embodiments, the content management system 302 can determine positionof one or more candidate recommendations forming a content item within adisplay of a client device based in part on the match score. Forexample, candidate recommendations having a greater match score can bepositioned having a greater prominence as compared to other candidaterecommendations having a lower prominence. The content management system302 can determine a position of a first candidate item having a firstmatch score. The first match score can correspond to the highest orgreatest match score as compared to match scores of other candidaterecommendations of the plurality of candidate recommendations. Thecontent management system 302 can select or assign a first positionwithin the display having a greatest prominence. For example, theprominent position with the display can include, but not limited to, atop portion and/or a start of a list of the candidate recommendations.The prominence of a candidate recommendation can be modified usingfeatures of the display, such as a stylistic feature (e.g. a particulartext style (which can specify a size, a font, underlining, bold,italics, or another style, and in some embodiments the style isdifferent than the another style used for a different candidaterecommendation), a visual indicator (e.g. a box, circle, or other visualindicator that surrounds or is otherwise positioned relative to thecandidate reference), or any other appropriate feature.

The content management system 302 can position and/or display othercandidate recommendations having less prominence or in a less prominentposition within the display as compared to the candidate recommendationshaving a higher or greater match score. Thus, the candidaterecommendations forming a content item and having the highest orgreatest match score can be positioned and/or displayed with a greaterprominence to increase a likelihood that a user associated with the userprofile 304 is likely to act upon the candidate recommendation(s)compared to the other candidate recommendations of the plurality ofcandidate recommendations. The content item may be a content item 1002.

Referring now to FIG. 9, FIG. 9 shows an example embodiment of a processfor providing a determining a real-time score (e.g. as a sub-score for atotal candidate recommendation match score). This can be used to assignmatch points to a candidate recommendation based on a real-time event orstatus. The process can be performed by the recommendation matcher 312.

In a brief overview, the recommendation matcher 312 can identify arecommendation of a set of candidate recommendations (BLOCK 902). Therecommendation matcher 312 can determine the identified candidaterecommendation is for an active event or game (BLOCK 904). If thecandidate recommendation is determined not to be for an active event orgame, the process can proceed to BLOCK 910, and the recommendationmatcher 312 can determine a total match score for the candidaterecommendation (e.g. without implementing a real-time event score).Otherwise, the process can proceed to BLOCK 906. The recommendationmatcher 312 can determine a real-time event status for the candidaterecommendation (BLOCK 906). The recommendation matcher 312 can determinea real-time score based on the real-time event status (BLOCK 908). Therecommendation matcher 312 can determine a total match score (e.g. basedon the real-time score) (BLOCK 910).

In more detail, at BLOCK 902, the recommendation matcher 312 canidentify a candidate recommendation of a set of candidaterecommendations for analysis. In some embodiments the recommendationmatcher 312 can identify a candidate recommendation of a set ofcandidate recommendations that satisfy one or more predeterminedconditions, such as having an initial match score (e.g. based on one ormore of a player relevance score, a team relevance score, or a pointcategory relevance score) equal to or above a threshold. The candidaterecommendations can be generated by one or more third-party servers thatare configured to generate recommendations. A third-party server thatgenerates these candidate recommendations may be configured to allowusers to act on the recommendations by establishing a user account withthe third-party server. The third-party server can be configured toestablish an interface with the content management system 302 throughwhich the content management system 302 can receive one or morecandidate recommendations. Furthermore, the content management system302 can be configured to generate a content item that includes orotherwise references at least one of the candidate recommendations. Thecontent item can be configured to include an actionable object, which auser can take an action on, which causes the client device to cause thecontent management system 302 to provide data relating to the userprofile 304 or account of the user to the third-party server. In thisway, the user can engage with the third-party server that generated thecandidate recommendation. The user may be required to log into thethird-party server. In some embodiments, the user may have an accountwith the third-party server that is linked to the account of the contentmanagement system 302 such that when a user performs an action based onthe candidate recommendation, the content management system 302 isconfigured to communicate the action to the third-party server.

In some embodiments, the content management system 302 can be configuredto generate the one or more candidate recommendations. The contentmanagement system 302 can be configured to generate these candidaterecommendations based on the user profile 304, including the one or moreactive lineups of the user and on data received from one or more datasources. The data sources can include a game server that providesreal-time updates to live sporting events, one or more servers ofsportsbooks or other servers that generate odds or lines for livesporting events, among others. The content management system 302 can beconfigured to generate a recommendation by selecting a player or teamfrom the user's fantasy lineups, a current performance of the player orteam and a statistic that the player or team can possibly achieve duringthe sporting event. The content management system can then determine alikelihood of the player or team achieving the statistic and based onthe likelihood, assign a value reflecting the likelihood of the playeror team achieving the statistic. The content management system can thengenerate a recommendation based for the player or team, the statisticthat the player or team can possibly achieve and the value. The contentmanagement system can generate a large number of candidaterecommendations based on various sporting events and store them in thecandidate recommendations database for selection.

At BLOCK 904, the recommendation matcher 312 can determine whether theidentified candidate recommendation corresponds to an active event orgame. An active event or game can be, for example, a real sports game orevent that has begun. The candidate recommendation may include a starttime for an event or game, and the recommendation matcher 312 cancompare the start time to a current time to determine whether the even tor game is active. If the recommendation matcher 312 determines that thecandidate recommendation is not active (e.g. has not yet begun), theprocess can proceed to BLOCK 910, and the recommendation matcher 312 candetermine a total match score for the candidate recommendation (e.g. atotal match score that does not include a real-time score as asub-score). If the recommendation matcher 312 determines that thecandidate recommendation is active, the process can proceed to BLOCK906.

At BLOCK 906, the recommendation matcher 312 can determine a real-timeevent status. The real-time event status can relate to any real-timecondition, status, or action of a real event or game. For example, thereal-time event status can indicate whether a game is close (e.g.whether a score difference between two teams is equal to or smaller thana threshold), or whether a prediction on a future outcome of thecandidate recommendation is close to being satisfied (e.g. whether atotal number of points in a game is close to a total number of pointscorresponding to an over-under prediction on a future outcome (e.g.within a threshold of the over-under)). Such thresholds can bedetermined based on a time (e.g. a time since the start of the event orgame, or a time remaining in the event or game). For example, a firstthreshold may be implemented for a remaining time that falls within afirst predetermined range (e.g. a second-to-last quarter of total gametime), and a second threshold may be implemented for a remaining timethat falls within a second predetermined range (e.g. e.g. a last quarterof total game time). The second threshold may be smaller than the firstthreshold. Thus, the recommendation matcher 312 can account for timeremaining in a game when determining whether the prediction on a futureoutcome of the candidate recommendation is close to being satisfied. Thereal-time status can indicate or can be that a game is close or not(e.g. a binary indication), or can indicate or can be a degree ofcloseness (e.g. based on a difference between the scores of two teams ora difference between a point total and an under/under line).

Any other real-time condition, status, or action of a real event or gamecan relate to a real-time event status of the candidate recommendation.For example, the real-time event status of the candidate recommendationcan relate to whether one or more points were just scored in a game, orif a team is in a “red-zone” or has been awarded a penalty shot, or if aremaining game time is equal to or below a threshold (or if a time sincethe start of the game is equal to or above a threshold). A candidaterecommendation may have one or more real-time statuses.

At BLOCK 908, the recommendation matcher 312 can determine a real-timescore based on the real-time event status. For example, therecommendation matcher 312 can reference a lookup table to determine anumber of real-time points to aggregate to the real-time score for thereal-time status. The recommendation matcher 312 can determine areal-time score based on a plurality of real-time statuses of thecandidate recommendation (e.g. by adding real-time points for eachreal-time status). In some embodiments, the recommendation matcher 312can determine the real-time points for a real-time status based onwhether a player included in the user profile 304 is associated with thereal-time event status. For example, if the real-time event status isthat one or more points have just been scored by the player included inthe user profile 304, the recommendation matcher 312 can determineadditional points or a point multiplier (e.g. based on a playerimportance score) to aggregate with points indicated by the lookuptable.

At BLOCK 910, the recommendation matcher 312 can determine a total matchscore for the candidate recommendation using the real-time score as asub-score. By implementing the process shown in FIG. 9, for example, therecommendation matcher 312 can account for real-time events occurring inan event or game that may be relevant to the user profile 304.

In some embodiments, the recommendation matcher 312 can monitor one ormore active candidate recommendations, and can determine or update areal-time score for the candidate recommendations (e.g. continuouslyupdate a score every predetermined amount of time). The recommendationmatcher 312 can determine that the real-time score is above a threshold,and the content management system 302 can responsively determine toprovide a content item including a recommendation of the candidaterecommendation to a client device.

In some embodiments, the recommendation matcher 312 can monitor one ormore real-time event statuses (e.g. indicating a degree of closeness tocompleting a prediction on a future outcome). The recommendation matcher312 can determine that the real-time event status is above a threshold,and the content management system 302 can responsively determine toprovide a content item including a recommendation of the candidaterecommendation to a client device.

In some embodiments, the recommendation system 302 can initiate arecommendation process that analyzes only active candidaterecommendations. The recommendation matcher 312 can determine a set ofactive candidate recommendations, and can determine real-time scores forthe active candidate recommendations and can rank the active candidaterecommendations based on the real-time scores (e.g. based only on thereal-time scores). The content management system 302 may generate acontent item that includes a recommendation for one or more of theactive candidate recommendations based on the ranking, and can providethe content item to a client device.

Referring now to FIG. 10, a representation of a user fantasy sportslineups profile 1002 is provided. The table 1002 includes a first columnlisting players included in one or more fantasy sports lineups for auser. The table 1002 includes that second column that indicates thenumber of fantasy sports lineups the respective player is includedwithin. Thus, the user fantasy sports lineups profile 1002 can be usedto identify a frequency of a player used within different fantasy sportslineups based on players (e.g., fantasy players) included in active orprevious fantasy sports lineups and generate recommendations 309, suchbut not limited to, bet recommendations 309 for the user associated withthe user fantasy sports lineups profile 1002 or other users having thesame players included within their respective fantasy sports lineupsprofile 1002.

For example, player A is included in 10 fantasy sports lineups used bythe respective user for fantasy sports contests. Player B is included in15 fantasy sports lineups used by the respective user for fantasy sportscontests. Player C is included in 13 fantasy sports lineups used by therespective user for fantasy sports contests. Player D is included in 21fantasy sports lineups used by the respective user for fantasy sportscontests. Player E is included in 11 fantasy sports lineups used by therespective user for fantasy sports contests. Player F is included in 17fantasy sports lineups used by the respective user for fantasy sportscontests. Player G is included in 16 fantasy sports lineups used by therespective user for fantasy sports contests.

The content management system 302 can determine player patterns for therespective user to generate future recommendations 309 for therespective user or similar users based on the information provided bythe user fantasy lineups profile 1002. For example, the contentmanagement system can identify a player or multiple players that areused in multiple fantasy sports lineups or a number that is equal to orgreater than a lineup threshold. The lineup threshold can correspond toa threshold value that indicates a frequently used player. The contentmanagement system 302 can correlate the frequently used players to a bethistory (e.g., FIG. 11) for the user to determine how often the userplaced bets with the fantasy sports lineup having the player, the bettype and/or a value of the bet. Thus, if the user or similar users haveat least one of the frequently used players in at least one activefantasy sports lineup they are currently using, a recommendation 309 canbe made to the user to place a similar bet, bet type, and/or bet withthe same value to the user or similar users.

Referring now to FIG. 11, a table showing a representation of a bethistory 1102 for a user is provided. The table 1102 can be used toidentify relationships between particular bets, bet types, bet amounts,and/or fantasy sports lineups made by a user. The bet history 1102 cancorrespond to a bet history for a single user or multiple users.

The table 1102 includes a first column identifying the particular bet(e.g., bet A, bet B, etc.). The table 1102 includes a second columnidentifying whether the bet was for a parlay bet or a single bet. Thetable 1102 includes a third column identify a bet type (e.g., type 1,type 2, etc.) for a bet. In embodiments, the bet type can include, butnot limited to, moneyline bets, spread bets, or over/under bets. Thetable 1102 can include a fourth column identifying whether the bet was apre-game bet (e.g., before contest begins) or a live in-game bet (e.g.,real-time bets, play-byplay bets). The table 1102 includes a fifthcolumn identifying bet amounts for the corresponding bet. The table 1102includes a sixth column identifying a fantasy sports lineup used for theparticular bet.

The content management system 302 can generate recommendations 309 forthe user or similar user based in part on the information provided bythe user fantasy sports profile 1002 and bet history 1102. For example,the content management system 302 can use properties from the userfantasy sports profile 1002 and/or bet history 1102 to determine bettingpatterns for a user of group of users based in part on the bet history1102. In embodiments, the content management system 302 can determinethat player A is included in the first fantasy sports lineup (e.g.,fantasy sports lineup 1) for the user. The content management system 302can identify the number of times the user has used the fantasy sportslineup 1 to place bets and properties of the bets placed using fantasysports lineup 1. For example, and referring still to FIG. 11, thecontent management system 302 can determine that the user places parlaybets using the fantasy sports lineup 1 and typically bets on themoneyline as a pregame bet. In embodiments, the content managementsystem 302 can generate one or more recommendations 309 (e.g., betrecommendations) for the user or similar users when player A appears ina fantasy sports lineup based in part on the information from the userfantasy sports profile 1002 and bet history 1102. For example, for auser having an active fantasy sports lineup or a subsequent fantasysports lineup having player A, the content management 302 can generate afirst recommendation 309 to place a parlay bet as a pre-game bet. Thecontent management 302 can generate a second recommendation 309 to placea moneyline bet as a pre-game bet. The content management 302 cangenerate a third recommendation 309 to place a parlay bet using themoneyline as a pre-game bet. The number of recommendations can vary andcan be selected based at least in part on the properties of the userfantasy sports profile 1002 and bet history 1102. The content managementsystem 302 can determine that a predetermined percentage of time, when aparticular player is included within a fantasy sports lineup, the userhas placed first bet. The content management system 302 can generaterecommendations 309 for the user or similar users (e.g., having fantasysports lineups with the respective player) of the first bet type. Thecontent management system 302 can determine betting patterns using thebet history 1102 to generate a plurality of recommendations 309 forfuture bets for the user or similar users.

Referring now to FIG. 12, a comparison table 1202 is provided showing arelationship or correlation between different users fantasy sportslineups using a similarity score. The similarity score can be used todetermine users having similar players in their respective fantasysports lineups and to generate recommendations for users or groups ofusers based on properties from the user fantasy sports profile 1002and/or bet history 1102 of one or more different users. The comparisontable 1202 includes a first column listing a plurality of fantasy sportslineups for a first user or user A. The comparison table 1202 includes asecond column listing a plurality of fantasy sports lineups for a seconduser or user B. The comparison table 1202 includes a third columnlisting a similarity score generated based on a similarity between thecorresponding fantasy sports lineup for user A as compared to thecorresponding fantasy sports lineup for user B.

The content management system 302 can determine at least one similarityscore for each fantasy sports lineup comparison. The similarity scorecan correspond to the number of common players included within bothcompared fantasy sports lineups. The content management system 320 canuse the similarity scores to generate, provide or otherwise propagaterecommendations 309 to multiple users based in part on existing playersor players previously used in fantasy sports lineups. For example, thecontent management system can compare a first fantasy sports lineup(e.g., fantasy sports lineup 1) for a first user to a first fantasysports lineup (e.g., fantasy sports lineup 2) for a second user. Thecontent management system 302 can determine if any of the playersincluded in the fantasy sports lineups are common (e.g., included inboth) to both fantasy sports lineups. The content management system 302can generate a similarity score based on the number of common playersincluded in the compared fantasy sports lineups. In some embodiments,the content management system 302 can compare the similarity score to asimilarity threshold to determine if recommendations generated based onthe players from the compared fantasy sports lineups should be providedto both associated users. The content management system 302 candetermine to provide recommendations generated for the first user or thesecond user based on at least one player from at least one of thecompared fantasy sports lineups to other of the first user of the seconduser. For example, if two fantasy sports lineups have a similarity scoreover the similarity threshold, the content management system 302 cangenerates a recommendation 309 for a first user based on players fromthe first fantasy sports lineup of the first user, the contentmanagement system 302 can provide or recommend the same recommendation309 to a second user having at least one fantasy sports lineup with asimilarity score in view of the first fantasy sports lineup of the firstuser over the similarity threshold.

Thus, the content management system can generate recommendations 309 fora single user or multiple users having similar fantasy sports lineupswith one or more players common to the players included in the comparedfantasy sports lineups based in part on at least one of a user fantasysports lineup profile 1002, the bet history 1102, a similarity score, ora combination of the user fantasy sports lineup profile 1002, the bethistory 1102, a similarity score. For example, the content managementsystem 302 can generate bet recommendations 309 for a user or group ofusers based on active fantasy sports lineups (e.g., existing fantasysports lineups), active players included in one or more fantasy sportslineups, previous fantasy sports lineups (e.g., existing fantasy sportslineups), and/or previous players included in one or more fantasy sportslineups.

It should be appreciated that although the specification and claimsrefer to fantasy sports, the application is not limited to fantasysports. Rather, the scope of the application may extend to othercontexts where a content management system maintains or accesses adatabase of one or more candidate recommendations that informs arecommendation selection or recommendation policy.

The invention claimed is:
 1. A method for providing content itemsidentifying recommendations based on fantasy sports lineups, comprising:identifying, by a server including one or more processors, for a firstuser profile, at least one active fantasy sports lineup including a listof players included in a fantasy sports contest hosted by the fantasysports server and one or more previous fantasy sports lineups, thefantasy sports contest associated with a plurality of real sportingevents; generating, by the server, using the at least one active fantasysports lineup and the one or more previous fantasy sports lineups, for auser, a recommendation profile, the recommendation profile including aplurality of relevance scores based on the players included in the atleast one active fantasy sports lineup and the one or more previousfantasy sports lineups; identifying, by the server, a plurality ofcandidate recommendations relating to the plurality of real sportingevents associated with the fantasy sports contest; determining, by theserver, for each candidate recommendation of the plurality of candidaterecommendations, one or more of the relevance scores indicating a levelof relevance between the recommendation profile and the candidaterecommendation; determining, by the server, using the correspondingrelevance scores, for each of the plurality of candidaterecommendations, a match score indicating a level of relevance betweenthe candidate recommendation and the recommendation profile;prioritizing, by the server, the plurality of candidate recommendationsbased on the relevance scores between each candidate recommendation andthe recommendation profile; providing, by the server, to a deviceassociated with the first user profile, a content item identifying aselected candidate recommendation of the plurality of candidaterecommendations based on the relevance score between the selectedcandidate recommendation and the recommendation profile.
 2. The methodof claim 1, wherein generating, the recommendation profile comprisinggenerating one or more of a player relevance score based on one or moreplayers included in the first user profile, a team relevance score basedon one or more players included in the first user profile, and a pointcategory relevance score based on one or more players included in thefirst user profile.
 3. The method of claim 2, wherein generating the oneor more relevance scores comprises performing a weighted aggregationusing one or more of a player importance weight, a contest importanceweight, and a contest recency weight.
 4. The method of claim 1, whereindetermining the match score indicating the level of relevance betweenthe candidate recommendation and the recommendation profile includesperforming a weighted aggregation of the relevance scores of therecommendation profile that correspond to the candidate recommendation.5. The method of claim 1, wherein identifying further comprisesidentifying one or more user attributes included in the first userprofile, the user attributes corresponding to the user associated withthe first user profile.
 6. The method of claim 5, further comprising:selecting one or more user attributes from the user profile; andgenerating the recommendation profile using players corresponding to theuser attributes form the user profile, the players included in the atleast one active fantasy sports lineup or the one or more previousfantasy sports lineups.
 7. The method of claim 6, further comprising:determining one or more relevance scores for the players correspondingto the user attributes; and ranking the players corresponding to theuser attributes within the recommendation profile based on the one ormore relevance scores.
 8. The method of claim 1, wherein determining thematch score further comprises determining for each of the plurality ofcandidate recommendations, the match score using one or more userattributes from the first user profile.
 9. The method of claim 1,further comprising selecting for the first content item two or morecandidate recommendations of the plurality of candidate recommendations,the two or more candidate recommendations of the plurality of candidaterecommendations having corresponding match scores greater than a matchscore threshold.
 10. The method of claim 9, further comprisingdetermining a position within a display of the device associated withthe first user profile for the each of the selected two or morecandidate recommendations, the position for the each of the selected twoor more candidate recommendations based on the corresponding matchscores for the two or more candidate recommendations.
 11. The method ofclaim 1, further comprising dynamically modifying the match score foreach of the plurality of candidate recommendations responsive to changesto one or more user attributes of the first user profile.
 12. A systemfor providing content items identifying recommendations based on fantasysports lineups, comprising: a processor; and memory storingmachine-readable instructions that, when read by the processor, causethe processor to perform processes that include: identifying, for afirst user profile, at least one active fantasy sports lineup includinga list of players included in a fantasy sports contest hosted by thefantasy sports server and one or more previous fantasy sports lineups,the fantasy sports contest associated with a plurality of real sportingevents; generating, using the at least one active fantasy sports lineupand the one or more previous fantasy sports lineups, for a user, arecommendation profile, the recommendation profile including a pluralityof relevance scores based on the players included in the at least oneactive fantasy sports lineup and the one or more previous fantasy sportslineups; identifying a plurality of candidate recommendations relatingto the plurality of real sporting events associated with the fantasysports contest; determining, for each candidate recommendation of theplurality of candidate recommendations, one or more of the relevancescores indicating a level of relevance between the recommendationprofile and the candidate recommendation; determining, using thecorresponding relevance scores, for each of the plurality of candidaterecommendations, a match score indicating a level of relevance betweenthe candidate recommendation and the recommendation profile;prioritizing the plurality of candidate recommendations based on therelevance scores between each candidate recommendation and therecommendation profile; providing, to a device associated with the firstuser profile, a content item identifying a selected candidaterecommendation of the plurality of candidate recommendations based onthe relevance score between the selected candidate recommendation andthe recommendation profile.
 13. The system of claim 12, whereingenerating, the recommendation profile comprising generating one or moreof a player relevance score based on one or more players included in thefirst user profile, a team relevance score based on one or more playersincluded in the first user profile, and a point category relevance scorebased on one or more players included in the first user profile.
 14. Thesystem of claim 12, wherein generating the one or more relevance scorescomprises performing a weighted aggregation using one or more of aplayer importance weight, a contest importance weight, and a contestrecency weight.
 15. The system of claim 14, wherein determining thematch score indicating the level of relevance between the candidaterecommendation and the recommendation profile includes performing aweighted aggregation of the relevance scores of the recommendationprofile that correspond to the candidate recommendation; identifying oneor more user attributes included in the first user profile, the userattributes corresponding to the user associated with the first userprofile.
 16. The system of claim 12, further comprising: selecting oneor more user attributes from the user profile; and generating therecommendation profile using players corresponding to the userattributes form the user profile, the players included in the at leastone active fantasy sports lineup or the one or more previous fantasysports lineups.
 17. The system of claim 16, further comprising:determining one or more relevance scores for the players correspondingto the user attributes; and ranking the players corresponding to theuser attributes within the recommendation profile based on the one ormore relevance scores.
 18. The system of claim 12, further comprisingselecting for the first content item two or more candidaterecommendations of the plurality of candidate recommendations, the twoor more candidate recommendations of the plurality of candidaterecommendations having corresponding match scores greater than a matchscore threshold.
 19. The system of claim 18, further comprisingdetermining a position within a display of the device associated withthe first user profile for the each of the selected two or morecandidate recommendations, the position for the each of the selected twoor more candidate recommendations based on the corresponding matchscores for the two or more candidate recommendations.
 20. The system ofclaim 12, further comprising dynamically modifying the match score foreach of the plurality of candidate recommendations responsive to changesto one or more user attributes of the first user profile.